4

我正在尝试使用 matplotlib 的 pcolor 函数来实现等高线图,但是,似乎有一些与网格排列有关的微妙规则,以确保完全覆盖图形。

为了显示:

a = arange(0., .8+.16, .16)
b = arange(0., .5+.10, .10)
A, B = meshgrid(a, b)
Z = A + B
pcolor(A,B,Z) 

这将返回数字 在此处输入图像描述

尽管shape(A)= shape(B)= 6。所以我的问题很简单:是什么影响了图右侧的空白,我该如何删除它?谢谢。

4

1 回答 1

5

您看到的是浮点数四舍五入的结果。可以表示为 Python 浮点数的最接近 0.8 的数字是 0.80000000000000004。Matplotlib 然后四舍五入到下一个“好”数字的想法,在该数字上放置一个轴刻度线。您可以通过显式设置轴限制来控制此行为:

xlim(0, 0.8)

或告诉 Matplotlib 完全适合您的数据,而不是将限制设置为整数:

axis('tight')
于 2013-10-04T15:09:48.437 回答