2012-02-28 90 views
4

合理的新的Python和我有这样matplotlib - 如何更改轴标签基地指数

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轴标题的地方更好。我发现一些代码,不会exaclty什么,我想下面

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))到我的代码中。

有没有什么办法可以做我想要的,而不用重写我的代码?

回答

0

你只是问如何使用pylab接口获取当前轴对象?

这只是:

ax = pylab.gca() 

不过,我倒是强烈建议从使用pylab界面切换了。它只是用于交互式使用。至少,切换到使用matplotlib.pyplot而不是pylabpylab是一个巨大的命名空间。分开使用numpymatplotlib更容易,而不是将它们滚动到相同的名称空间中。