python matplotlib pcolor空白

时间:2013-10-04 15:00:27

标签: python matplotlib

我正在尝试使用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) 

返回图 enter image description here

尽管shape(A) = shape(B) = 6.所以我的问题很简单:影响图右侧空白区的是什么以及如何将其删除?感谢。

1 个答案:

答案 0 :(得分:5)

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

xlim(0, 0.8)

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

axis('tight')