2012-07-06 102 views
1

如何在我用matplotlib绘制的点周围创建空间?使用matplotlib在loglog图中设置轴限制

例如,在此图中,左下角的点与轴截断,但我希望点和轴之间有更多空间。 example plot

import matplotlib.pyplot as plt 
x = [2**i for i in xrange(4,14)] 
y = [i**2 for i in x] 
plt.loglog(x,y,'ro',basex=2,basey=2) 
plt.xlim([0, 2**14]) # <--- this line does nothing 
plt.show() 

在交互模式下,xlim线返回(16.0, 16384),旧的值,而不是我想要设置的新值。

回答

10

零不能绘制在日志图形上(log(0)= -inf)。它无声地失败,因为它不能使用0作为限制。

改为尝试plt.xlim([1,2**14])

+1

沉默失败并没有帮助,但当然0不能被绘制!好答案。 – Joe 2012-07-07 22:20:07

1

如果您正在寻找一种处理此问题的常规方法,并且想要自动调整剧情极限(即使不知道任何数据),也可以编写一个受this answer启发的片段以解决类似问题。

请注意,您将不得不稍微调整一下代码并更改它,以便它也可以执行y轴的工作。