У меня есть таблица в моих pandas df.График графа с значениями на вершине python
Total_orders frequency
0.0 18679137
1.0 360235
2.0 68214
3.0 20512
4.0 7211
... ...
50.0 12
Я хочу построить столбчатую диаграмму, общие заказы против частоты, со значениями частот, отображаемых в верхней части каждого бара.
Я управляю этими тремя кодами.
Code1:
plt.figure(figsize=(12,6))
df2 = df.groupby('Total_orders')['frequency'].plot(kind='bar')
plt.xlabel('Total_orders')
plt.ylabel('frequency')
for rect in df2.patches:
height = rect.get_height()
df2.text(rect.get_x() + rect.get_width()/2., 1.05*height+100,
'%d' % int(height),ha='center', va='bottom', rotation=90)
Кодекса2: (цикл)
for ii,rect in enumerate(df2.patches):
height = rect.get_height()
df2.text(rect.get_x() + rect.get_width()/2., 1.14*height+100,'%d' % int(height),ha='center', va='bottom', rotation=90)
Code3
for p in df2.patches:
df2.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() *1.05),rotation=90)
но когда я бегу код он показывает мне ошибку, что
AttributeError: 'Series' object has no attribute 'patches'
Любая идея, почему это происходит, и как ее удалить?
Похоже, вы подключаетесь к 'объект Series' (' df2'?) И пытается повторять его 'patches', но объект' Series' не имеет атрибута 'patches'. Вам нужно будет найти способ доступа к любому объекту, который имеет 'patches', который вы хотите повторить. –