Как добавить значение бар на вершине (морской котелок)? - PullRequest
0 голосов
/ 28 октября 2018

Данные представлены в форме ниже:

first_name nick_name              activity                         duration            
  Harish   Escorts   MC GUARD ASSEMBLY WITH CABINATE BRACKET          226   
  Harish   Escorts   COOLANT TANK AND SIDE DOORS, OPP DOORS           225   
Narasaraj  Escorts   MC GUARD ASSEMBLY WITH CABINATE AND BRACKET MO   225   
Narasaraj  Escorts   COOLANT TANK AND SIDE DOORS, OPP DOORS ASSEMBLY  150
PurushothamEscorts   PNEUMATIC AND LUBRICATION ASSEMBLY                55
Shivu      Escorts   CABLE CARRIER AND AXIS MOTOR ASSEMBLY            123

Используя seaborn Я делаю барплот:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="ticks", color_codes=True)


df = pd.read_excel('VMC & HMC data (sep&oct-15).xlsx',  index = False)

df1 = df1[[ "first_name" , "nick_name", "activity" , "duration"]]

g = sns.catplot(x= 'first_name', y = 'duration', hue = 'activity' , data = df1, kind = 'bar', dodge=False, palette="deep", ci = None)

plt.ylim(0,300)
plt.gcf().autofmt_xdate()

for index, row in df1.iterrows():
    g.text(row.name,row.first_name,row.duration, color='black', ha="center")

Это выдает ошибку как:

AttributeError: 'FacetGrid' object has no attribute 'text'

Как добавить значения бара поверх бара ??No values at the top of the bar

1 Ответ

0 голосов
/ 28 октября 2018

catplot возвращает FacetGrid.У этого метода нет text.

Два варианта:

A.Выберите оси из сетки

  • , если catplot создает несколько осей

    g = sns.catplot(...)
    g.axes[0].text(...)
    
  • , еслиcatplot производит одиночные оси

    g = sns.catplot(...)
    g.axes.text(...)
    

B.Используйте барплот

ax = sns.barplot(...)
ax.text(...)
...