2015-05-03 4 views
3

Я делаю сюжет, и по какой-то причине моя xlabel не появляется. Я не думаю, что он обрезается, потому что, когда я звоню tight_layout, он все еще не отображается. Любая идея, что вызывает эту проблему? Вот код, используемый для создания фигуры с некоторыми составленными данными.Почему моя xlabel не появляется? (Это не обрезается)

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

И изображение самой фигуры (с xlabel нет).

enter image description here

+3

Почему вы не используете 'ax2.set_xlabel (« 2013 », fontsize = 12)' – cmidi

+0

Я согласен, что должен это сделать –

+0

А теперь это имеет смысл. Я также пытался «ax2.set_xlabel (« 2013 », fontsize = 12)». Должен иметь хотя бы попробовать первые топоры. – pbreach

ответ

2

Использование

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

вместо

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

работает для меня.