2013-07-18 113 views
12

我正在用matplotlib绘制一些数据。我想让情节专注于特定范围的x值,所以我使用set_xlim()。为什么set_xlim()没有在我的图中设置x限制?

粗略地说,我的代码看起来是这样的:

fig=plt.figure() 
ax=fig.add_subplot(111) 
for ydata in ydatalist: 
    ax.plot(x_data,y_data[0],label=ydata[1]) 
ax.set_xlim(left=0.0,right=1000) 
plt.savefig(filename) 

当我看剧情,X系列结束是从0到12000这发生之前或之后的情节set_xlim()是否发生() 。为什么set_xlim()在这种情况下不起作用?

+1

你可以试试'plt.xlim(...)'...我记得抓我的头太大,几个月前;-) – tamasgal

+1

我做了使用随机整数一个简单的测试,例如,从0到2000和'ax.set_xlim '适当地将x轴限制在0到1000之间。 – GWW

+0

两个人留下了被删除的好答案。 – Dan

回答

7

出于好奇,约在老xminxmax切换呢?

fig=plt.figure() 
ax=fig.add_subplot(111) 
ax.plot(x_data,y_data) 
ax.set_xlim(xmin=0.0, xmax=1000) 
plt.savefig(filename) 
+0

这工作完美。由于我使用的是旧版本的matplotlib,这几乎肯定是问题所在。 – Dan

9

本答案的原文摘录于答案发布后几乎立即删除。

set_xlim()限制了图上显示的数据。

要更改轴的边界,请使用set_xbound()

fig=plt.figure() 
ax=fig.add_subplot(111) 
ax.plot(x_data,y_data) 
ax.set_xbound(lower=0.0, upper=1000) 
plt.savefig(filename) 
相关问题