Удалить пробелы над и под потоком Seaborn Heatmap Streamlit

#python #matplotlib #seaborn #heatmap #streamlit

#python #matplotlib #seaborn #тепловая карта #потоковая передача

Вопрос:

Я создаю тепловую карту в seaborn и отображаю ее на потоковой панели. Сгенерированное изображение содержит много пробелов сверху и снизу.

 #creating heatmap
df= df[['x','y','z']]

df_temp =  df.pivot_table(index=x,
                      columns=y,
                      values= z)
                    

plt.figure(figsize=(13, 80))
clr = sns.color_palette("RdBu", 7)

ax = sns.heatmap(df_temp, annot=True, fmt='.1f',cmap=clr, cbar=False);

#set x axis label on top
ax.xaxis.set_ticks_position('top')

# split axes of heatmap to put colorbar
ax_divider = make_axes_locatable(ax)

# define size and padding of axes for colorbar
cax = ax_divider.append_axes('top', size = '0.2%', pad = '1%')

# make colorbar for heatmap. 
# Heatmap returns an axes obj but you need to get a mappable obj (get_children)
colorbar(ax.get_children()[0], cax = cax, orientation = 'horizontal')

# locate colorbar ticks
cax.xaxis.set_ticks_position('top')
  

Вывод изображения

Изображение с пробелом в верхней части диаграммы

Я использую st.pyplot для рендеринга этого на dashbaord с потоковой передачей

Буду признателен за любую помощь.

P.S он корректно отображается в Jupyter notebook

Комментарии:

1. вы устанавливаете высоту вашего изображения на 80 дюймов. Это пространство должно быть чем-то заполнено. Каков ваш ожидаемый результат здесь? Что тепловая карта растягивается, чтобы заполнить этот пробел? Или что этот рисунок обрезан, чтобы более разумно соответствовать тепловой карте?

2. @tmdavison хотел бы, чтобы тепловая карта заполняла пробелы. т. е. тепловая карта должна начинаться прямо под верхней синей полосой. Тепловая карта содержит около 100 строк. Изображение, которое я добавил, является его обрезанной версией.

3. если вы сохраните ссылку на свой рисунок fig = plt.figure(...) , то вы можете использовать fig.subplots_adjust(top=0.99, bottom=0.02) для корректировки пробелов. Отрегулируйте эти значения в соответствии с вашими потребностями