Why is my xlabel not showing up? (It is not clipped)

I am making a plot and for some reason my xlabel is not showing up. I don't think it gets cut off because when I call tight_layout

it still doesn't show up. Any idea what is causing this problem? Here is the code used to create a shape with some composed 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 the image of the figure itself (with xlabel not present).

enter image description here

+3


source to share


1 answer


Using

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

      

instead



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

      

works for me.

+2


source







All Articles