2017-06-13 105 views
2

绘制与x和y数据pcolormesh删除数组中数据有人可以解释这个matplotlib pcolormesh怪癖吗?

的行要说明我的意思,请参阅下列:

data = np.random.random([5,5]) 
plt.pcolormesh(data) 

结果在该5x5的网格:
enter image description here

但是,如果我想为像这样的数据定义x轴和y轴,pcolormesh将创建一个4x4网格,并且顶部和右边的行缺失...

plt.pcolormesh(range(5), range(5), data) 

enter image description here

为了获得完整的5x5的情节,我要做

plt.pcolormesh(range(6), range(6), data) 

enter image description here

这只是pcolormesh的怪癖?或者有人可以解释为什么pcolormesh的行为是这样吗?

回答

2

您看到的行为是预期的。为
pcolor(X, Y, C, **kwargs)pcolor documentation状态:

理想的是X和Y的尺寸应比与C中的一个更大;如果尺寸相同,则C的最后一行和一列将被忽略。

pcolormesh当然也是如此。

我不确定这是否是讨论此行为是否为“怪癖”的地方,但其基本思想是网格定义了彩色面的边缘。就像在一个数字行上,你有n数字和n-1之间的间隔。

由网格定义边缘实际上是有意义的,因为pcolormesh也允许不相等的间距网格,否则将不可能定义网格。

enter image description here

相关问题