Python/Matplotlib - Adjusting the spacing between the edge of the plot and the x-axis


Question

How can I adjust the amount of space between the x-axis and the edge of the plot window? My x-axis labels are oriented vertically and they are running off of the edge of the window that Matplotlib draws.

Here's some example code:

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]
plt.plot(x,y)
plt.xticks(rotation='vertical')
plt.show()
1
16
2/22/2011 4:34:05 PM

Accepted Answer

As Paul said, you are using figures. You can get a reference to the current figure with gcf() and then set the spacing as per the FAQ. I've added two lines to your code:

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]
plt.plot(x,y)
plt.xticks(rotation='vertical')

fig = plt.gcf()
fig.subplots_adjust(bottom=0.2)

plt.show()
17
2/22/2011 5:04:05 PM

Here's a solution in the FAQ entitled Move the edge of an axes to make room for tick labels.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon