Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rotate minor ticks in matplotlib

I am plotting the following chart :

enter image description here

with the following code:

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()

I would like to also rotate the minor ticks: How would i do that?

Subsidiary question is there a way to rotate both major and minor tick with a single command?

like image 973
jim jarnac Avatar asked Dec 30 '16 04:12

jim jarnac


2 Answers

You may rotate by code of one line plt.setp(ax.xaxis.get_minorticklabels(), rotation=90).

like image 64
Serenity Avatar answered Sep 20 '22 02:09

Serenity


While dealing with the problem myself, I discovered that you can also easily accomplish this with a single statement using the tick_params:

ax.tick_params(axis="x", which="both", rotation=45)

This will rotate labels on your x axis, and the which option allows you to choose between minor, major or both. In case you have multiple plots you will have to do this for every plot in the figure.

like image 22
DannyVanpoucke Avatar answered Sep 17 '22 02:09

DannyVanpoucke