Иногда позиция «лэйблов» данных, которые Matplotlib
размещеает автоматически, не является оптимальной. Например, в следующем графике лэйблы по оси Х сдвинуты влево
%load_ext rpy2.ipython
plt.rcParams['figure.figsize'] = (15,5)
%%R -o micex
library(rusquant)
getSymbols('MICEX', src='Finam', from ='1970-01-01')
micex <- data.frame(MICEX)
micex.index = micex.index.to_datetime()
micex['MICEX.Close'].plot();

Для того, чтобы изменить позицию лэйблов, у тикеров суеществует свойство tick.label1.set_horizontalalignment
со значениями center
, left
, right
_, ax= plt.subplots()
micex['MICEX.Close'].plot(ax=ax)
for tick in ax.xaxis.get_major_ticks():
tick.label1.set_horizontalalignment('center')

Источники:
- http://matplotlib.org/examples/pylab_examples/centered_ticklabels.html
- http://stackoverflow.com/questions/16162514/how-can-i-move-a-tick-label-onlywithout-moving-corresponding-tick
(последняя ссылка включает пример, как сдвинуть лэйбл по вертикали с помощью метода ax.get_xaxis().majorTicks[2].set_pad()
)
Write a comment: