How to print Y axis label horizontally in a matplotlib / pylab chart?

Karl D picture Karl D · Dec 27, 2014 · Viewed 67.4k times · Source

I'm creating very simple charts with matplotlib / pylab Python module. The letter "y" that labels the Y axis is on its side. You would expect this if the label was longer, such as a word, so as not to extend the outside of the graph to the left too much. But for a one letter label, this doesn't make sense, the label should be upright. My searches have come up blank. How can I print the "y" horizontally?

Answer

Jens Munk picture Jens Munk · Dec 27, 2014

It is very simple. After plotting the label, you can simply change the rotation:

from matplotlib import pyplot as plt
plt.ion()
plt.plot([1,2,3])
h = plt.ylabel('y')
h.set_rotation(0)
plt.draw()

Alternatively, you can pass the rotation as an argument, i.e

plt.ylabel('y',rotation=0)