【发布时间】:2019-09-26 12:59:46
【问题描述】:
我正在使用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)
【问题讨论】:
标签: python matplotlib plot color-mapping