У меня есть датафрейм под названием for_plot
, и я использую следующий фрагмент кода для создания гистограммы:
import matlplotlib.pyplot as plt
f, ax = plt.subplots(1,1,figsize=(10,8))
x_1 = for_plot['res_code'] - 0.2
x_2 = for_plot['res_code']
pre = for_plot['n_indnota_pre']
post = for_plot['n_indnota_post']
ax.bar(x_1,pre, width = 0.2, color = 'red')
ax.bar(x_2,post, width = 0.2, color = 'green')
ax.set_xticks([0.9,1.9,2.9])
ax.set_xticklabels(['GEN','ST','SC'])
ax.legend(['pre_nota', 'post_nota'],loc = 1)
ax.xlabel('Constituency Type')
ax.ylabel('No of Independent Candidates')
ax.title('Average No Of Independent Candidates by Constituency Type')
plt.show()
Я понимаю, как работать с matplotlib, но у меня есть несколько вопросов по нюансам:
- Что делает
f
в строке 1 сниппета? Что обозначают f
и ax
в этом фрагменте? - Я не могу добавить метки осей и заголовок диаграммы (как в последних 4 строках фрагмента), используя
ax.xlabel('Constituency Type')
, но при рисовании других фигур, если я не назову subplot()
в первая строка и используйте plt.xlabel('Constituency Type')
, он работает абсолютно нормально. Почему это так?
Я получаю следующую ошибку:
AttributeError: 'AxesSubplot' object has no attribute 'xlabel'
Изменить 1:
f.xlabel('Constituency Type')
f.ylabel('No of Independent Candidates')
f.title('Average No Of Independent Candidates by Constituency Type')
Тоже не работает.
AttributeError:'Figure' object has no attribute 'xlabel'