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