我正在使用matplotlib绘制一些数据。我希望绘图专注于特定范围的x值,所以我使用set_xlim()。
粗略地说,我的代码看起来像这样:
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()是在plot()之前还是之后发生,都会发生这种情况。为什么set_xlim()在这种情况下不起作用?
答案 0 :(得分:12)
此答案的文字取自发布后几乎立即删除的答案。
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)
答案 1 :(得分:10)
出于好奇,如何切换旧版xmin
和xmax
?
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)
答案 2 :(得分:5)
就我而言,仅以下解决方案不起作用:
ax.set_xlim([0, 5.00])
ax.set_xbound(lower=0.0, upper=5.00)
但是,使用set_aspect
设置外观是有效的,即:
ax.set_aspect('auto')
ax.set_xlim([0, 5.00])
ax.set_xbound(lower=0.0, upper=5.00)