Как удалить бывшую цветную полосу и создать новую, когда перезагрузите данные для субплота с тепловой картой seaborn в matplotlib? - PullRequest
0 голосов
/ 08 февраля 2020

Я создал график тепловой карты (с использованием seaborn) в PyQT5 с первыми параметрами. При изменении параметров для создания нового графика тепловой карты на этом холсте с новыми значениями, но бывшая цветовая полоса не удаляется следующим образом:

enter image description here

Мне действительно нужна только одна цветовая полоса для графика в тот день ( CBAR = True). Я не хочу исправлять vmin, vmax для всех графиков со значениями разностных данных.

sns.heatmap(df_grid, annot=False, cmap='tab20', ax=self.axes_surface, cbar=True)

Как в этом случае удалить цветную полосу ex?

1 Ответ

0 голосов
/ 08 февраля 2020

Вы не предоставляете много кода. Вот общий способ:

В начале программы вы создаете топор для основного сюжета, а другой - для цветовой шкалы. width_ratios может помочь цветовой полосе занимать гораздо меньше места, чем основная тепловая карта.

my_fig, (my_ax, my_cbar_ax) = plt.subplots(ncols=2, figsize=(8, 6),
                                           gridspec_kw={'width_ratios': [10, 1]})

Внутри функции обновления вы предоставляете обе оси для sns.heatmap. Если вы не предоставите cbar_ax, seaborn будет создавать новую цветовую панель каждый раз, когда вы вызываете функцию обновления.

sns.heatmap(...., ax=my_ax, cbar_ax=my_cbar_ax)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...