【问题标题】:Can someone explain this matplotlib pcolormesh quirk?有人可以解释这个 matplotlib pcolormesh 怪癖吗?
【发布时间】:2017-06-14 01:22:21
【问题描述】:

使用 pcolormesh 绘制带有 x 和 y 数据的数组会删除一行数据

为了说明我的意思,请参阅以下内容:

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 会这样吗?

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

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

    理想情况下,X 和 Y 的尺寸应该比 C 大一;如果维度相同,则 C 的最后一行和最后一列将被忽略。

    pcolormesh 当然也是如此。

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

    实际上,通过网格定义边缘是有意义的,因为pcolormesh 还允许使用其他方式无法定义的不等间距网格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 2012-04-19
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      相关资源
      最近更新 更多