Я использую matplotlib 3.0.3
и хочу создать анимацию графических изображений с помощью модуля FuncAnimation
.Для скорости печати я обновляю данные изображения, используя im.set_data
для imshow
и im.set_array()
для plt.pcolormesh
(set_data
недоступно в качестве атрибута).Если я частично обновляю данные значениями NaN, imshow
отображает их в виде пустых пикселей, а pcolormesh
показывает их как самый низкий цвет из цветовой карты (синий для viridis
).
Это предназначено иесли нет, то почему это поведение?Это похоже на set_array()
, поскольку pcolormesh
обычно отображает NaN в виде пустых пикселей.
Минимальный пример:
import numpy as np
import matplotlib.pyplot as plt
fig1 = plt.figure()
im1 = plt.pcolormesh(np.random.rand(10,10))
im1.set_array((np.zeros((10,10)) * np.nan).ravel())
fig2 = plt.figure()
im2 = plt.imshow(np.random.rand(10,10))
im2.set_data(np.zeros((10,10)) * np.nan)