Я пытаюсь научиться создавать анимацию тепловых карт с помощью Seaborn. Все записи всех матриц, используемых в анимации, находятся в диапазоне от 0 до 1, и я хочу запустить анимацию в блокноте Jupyter.
Две проблемы, с которыми я борюсь:
- Я хотел бы показать одну цветную полосу для всех кадров.
- По какой-то причине я получаю дополнительное изображение, появляющееся под моей анимацией.
Вот мой код, где я просто работаю со случайными матрицами 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)
Анимация работает нормально, за исключением двух вещей:
- Я не уверен, какие параметры нужно изменить, чтобы анимация отображала одну цветную полосу при развертывании анимации,Должен ли я удалить опцию cbar = False и добавить заданный интервал значений цветовой шкалы, который остается фиксированным от кадра к кадру?
- Ниже анимации и под кнопкой воспроизведения / остановки я получаю еще одну тепловую карту, и яЯ не уверен, откуда он.