在matplotlib中设置误差条的子图显示范围
我正在尝试使用matplotlib来绘制我的数据。我有三组不同的数据,想在三个子图中展示(我参考了这个链接)。
plt.figure()
fig, axs = plt.subplots(nrows=3, ncols = 1, sharex=False)
ax1 = axs[0]
ax1.errorbar(X,Y,Err,fmt='o')
ax1.set_xscale('log')
ax1.set_yscale('log')
ax1.set_title('epsilon=1.5, kappa = 2')
plt.show()
不过,我的x轴范围是从1(或者0,我不太确定)到100,我想把这个范围缩小。我试过这个方法,通过添加以下内容:
ax1.xlim(0.5,13.5)
但是我遇到了一个错误:
AttributeError: 'AxesSubplot'对象没有'xlim'这个属性
那我该如何改变这个范围呢?
2 个回答
12
轴对象对应的方法是 set_xlim(xmin,xmax)
。
30
你可能想用 Axes.axis(*v, **kwargs)
这个方法:
ax1.axis(xmin=0.5,xmax=13.5)
根据文档的说明:
这个方法可以用来设置或获取坐标轴的属性。
如果你传入的
*v
里面没有任何内容(也就是长度为0),你可以选择性地通过kwargs
来传入xmin
、xmax
、ymin
和ymax
,这样就可以只改变这些边界的值,而不影响其他的设置。