我有一个包含 np.nan 值的数组,我想使用 pcolor 绘制它。原则上一切正常,但我收到了无法消除的警告。使用plt.imshow
不会发出警告,但我需要指定 x 和 y 坐标。
MatplotlibDeprecationWarning:从 PolyQuadMesh 获取数组将来会返回完整数组(未压缩)。要获得此行为,现在使用 2D 数组 .set_array(data2d) 设置 PolyQuadMesh。
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
x = np.linspace(-2,2,100)
y = np.linspace(-2,2,100)
X, Y = np.meshgrid(x,y)
X[X**2+Y**2>4] = np.nan
Y[X**2+Y**2>4] = np.nan
Z = np.exp(-(X**2+Y**2))
plt.pcolor(Y,X,Z, cmap='viridis')
plt.colorbar()
我使用 matplotlib v3.9.2 和 numpy v1.26.4。