Matplotlib - 如何更改坐标轴标签的底数指数

4

我对Python比较陌生,但我有一些类似下面的代码:

V = [0, 0.003, 0, 0.0002]   
pylab.axis(V)
legend_font_props = FontProperties()
legend_font_props.set_size('small')
pylab.xlabel('Time (ms)')

pylab.xticks(rotation=45)
pylab.xticks.set_major_formatter(FixedOrderFormatter(-3))

pylab.ylabel('Current (A)')
pylab.title('Title')        
pylab.plot(Temp0_Xvals, Temp0_Yvals, marker='+')
pylab.plot(Temp10_Xvals, Temp10_Yvals, marker='+')
pylab.plot(Temp20_Xvals, Temp20_Yvals, marker='+')
pylab.plot(Temp30_Xvals, Temp30_Yvals, marker='+')
pylab.plot(Temp40_Xvals, Temp40_Yvals, marker='+')
pylab.plot(Temp50_Xvals, Temp50_Yvals, marker='+')
pylab.plot(Temp60_Xvals, Temp60_Yvals, marker='+')
pylab.plot(Temp70_Xvals, Temp70_Yvals, marker='+')
pylab.plot(Temp80_Xvals, Temp80_Yvals, marker='+')

pylab.show()

我希望更改x轴标签的底数指数,因为它们占用了太多的空间,如果我把单位添加到x轴标题中并将它们变小,它们会更好看。我找到了下面完全符合我的要求的一些代码:

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y, 'b-')

ax.yaxis.set_major_formatter(FixedOrderFormatter(-9))

plt.show()

显然,他们正在使用一种与我尝试的方式不同的格式,我找不到将ax.yaxis.set_major_formatter(FixedOrderFormatter(-9))转换为我的代码的方法。

是否有任何方法可以在不重写代码的情况下实现我想要的效果?

1个回答

0
你是在询问如何使用pylab接口获取当前轴对象吗?
只需要这样做:
ax = pylab.gca()

然而,我强烈建议不要再使用pylab接口。它只适用于交互式使用。至少,切换到使用matplotlib.pyplot而不是pylabpylab是一个巨大的命名空间。与其将它们合并到同一命名空间中,更容易分别使用numpymatplotlib


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接