2012-02-28 2 views
4

Разумно новый питон и у меня есть некоторый код, как этот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. Я нашел некоторый код, который делает 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 вместо pylab. pylab является огромным пространства имен. Легче работать с numpy и matplotlib отдельно вместо того, чтобы катить их в одно и то же пространство имен.

Смежные вопросы