Reputation: 16987
I'm making a plot and for some reason my xlabel is not showing up. I don't think it is getting cut off, because when I call tight_layout
it still doesn't show up. Any idea what is causing this issue? Here is the code used to generate the figure with some made up data.
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(8,5))
Months = ['May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct']
P = [220, 120, 50, 24, 54, 72]
T = [7, 12, 18, 24, 14, 5]
ax.bar(np.arange(1.5, len(P)+1.5), P, 0.5, label='Precipitation', color='k');
ax.set_ylabel("Precipitation, mm", fontsize=12)
ax.legend(loc=2, frameon=False, fontsize=12)
ax2 = ax.twinx()
ax2.plot(np.arange(1.75, len(P)+1.75), T, label='Air Temperature');
ax2.set_ylabel(r'Air Temperature, $^{o}$C', fontsize=12)
ax2.legend(loc=1, frameon=False, fontsize=12)
ax2.set_ylim(0,30)
plt.xticks(np.arange(1.75, len(P)+1.75), Months)
plt.xlim(1, 7.5)
plt.xlabel("2013", fontsize=12)
plt.tight_layout()
And an image of the figure itself (With the xlabel not present).
Upvotes: 11
Views: 31097
Reputation: 3079
Using
ax.set_xlabel("2013", fontsize=12)
instead of
plt.xlabel("2013", fontsize=12)
works for me.
Upvotes: 11