matplotlib - 如何更改轴标签基指数

时间:2012-02-28 02:08:51

标签: python matplotlib

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 :(得分:0)

您是否只是询问如何使用pylab界面获取当前轴对象?

只是:

ax = pylab.gca()

但是,我强烈建议不要使用pylab界面。它实际上只适用于交互式使用。至少,切换到使用matplotlib.pyplot而不是pylabpylab是一个巨大的命名空间。分别使用numpymatplotlib而不是将它们滚动到同一名称空间更容易。