Как добавить одну цветовую полосу в анимацию тепловых карт и удалить ненужное изображение? - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь научиться создавать анимацию тепловых карт с помощью Seaborn. Все записи всех матриц, используемых в анимации, находятся в диапазоне от 0 до 1, и я хочу запустить анимацию в блокноте Jupyter.

Две проблемы, с которыми я борюсь:

  1. Я хотел бы показать одну цветную полосу для всех кадров.
  2. По какой-то причине я получаю дополнительное изображение, появляющееся под моей анимацией.

Вот мой код, где я просто работаю со случайными матрицами 5 на 5 и где я установил cbar = False в тепловой карте только потому, что я получал разные цветовые полосы для каждого кадра:

%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.animation
import seaborn as sns
import numpy as np

plt.rcParams["animation.html"] = "jshtml"

fig = plt.figure()

def animate(i):
    sns.heatmap(np.random.rand(5,5),cbar=False)

matplotlib.animation.FuncAnimation(fig, animate, frames=10)

Анимация работает нормально, за исключением двух вещей:

  1. Я не уверен, какие параметры нужно изменить, чтобы анимация отображала одну цветную полосу при развертывании анимации,Должен ли я удалить опцию cbar = False и добавить заданный интервал значений цветовой шкалы, который остается фиксированным от кадра к кадру?
  2. Ниже анимации и под кнопкой воспроизведения / остановки я получаю еще одну тепловую карту, и яЯ не уверен, откуда он.
...