2016-12-30 5 views
3

Я замышляет следующую таблицу:Matplotlib - поворот второстепенного тика

enter image description here

со следующим кодом:

fig, ax = plt.subplots(figsize=(20, 3)) 
mpf.candlestick_ohlc(ax,quotes, width=0.01) 
ax.xaxis_date() 
ax.xaxis.set_minor_locator(mpl.dates.HourLocator(interval=4)) 
ax.xaxis.set_minor_formatter(mpl.dates.DateFormatter('%H:%M')) 
plt.xticks(rotation = 90) 

plt.grid(True) 
plt.show() 

Я хотел бы также вращать незначительные тики: Как бы я сделать что?

Дополнительный вопрос: есть ли способ повернуть майор и майор с помощью одной команды?

ответ

2

Вы можете повернуть код по одной строке plt.setp(ax.xaxis.get_minorticklabels(), rotation=90).

+0

Oh! Это намного проще и понятнее. – Lucas

1

Изучив немного, я обнаружил, что ax.get_xminorticklabels() - это список с элементом класса text.

>>> print(type(ax.get_xminorticklabels()[0])) 
<class 'matplotlib.text.Text'> 

text И может быть rotated!

>>> for text in ax.get_xminorticklabels(): 
>>>  text.set_rotation(90) 

xminorticklabels_rotate_example

Вы только должны быть осторожными, чтобы они не перекрывали друг друга.

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