pbreach
pbreach

Reputation: 16987

Why does my xlabel not show up? (It's not getting cut off)

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

enter image description here

Upvotes: 11

Views: 31097

Answers (1)

FriendFX
FriendFX

Reputation: 3079

Using

ax.set_xlabel("2013", fontsize=12)

instead of

plt.xlabel("2013", fontsize=12)

works for me.

Upvotes: 11

Related Questions