使用带有x和y数据的pcolormesh绘制数组会删除数据行
为了说明我的意思,请参见以下内容:
data = np.random.random([5,5]) plt.pcolormesh(data)
产生以下5x5网格:
但是,如果我想为这样的数据定义x和y轴,则pcolormesh将创建一个4x4网格,顶部和右侧的行会丢失…
plt.pcolormesh(range(5), range(5), data)
为了获得完整的5x5图,我必须做
plt.pcolormesh(range(6), range(6), data)
这只是pcolormesh的怪癖吗?还是有人可以解释为什么pcolormesh如此行为?
您看到的行为是预期的。该令pColor文件规定为 pcolor(X, Y, C, **kwargs):
pcolor(X, Y, C, **kwargs)
理想情况下,X和Y的尺寸应比C的尺寸大一;如果尺寸相同,则将忽略C的最后一行和最后一列。
当然也是如此pcolormesh。
pcolormesh
我不确定这是否是讨论此行为是否为“怪癖”的地方,但是其基本思想是网格定义了彩色面孔的边缘。就像在数字行上一样,它们之间也有n数字和n-1间隔。
n
n-1
实际上,通过网格定义边缘是有意义的,因为pcolormesh还允许不等间距的网格,否则将无法定义网格。