2017-08-20 1 views
0

J'ai une trame de données nommée 'train' qui a un certain nombre de variables. Une telle variable est «industrie». Les 10 premiers éléments de la colonne « industrie » sont les suivantes:Comment tracer un graphique à barres en Python à l'aide de matplotlib.pyplot? La hauteur de l'argument doit être 'xxxx' ou scalaire

train['industry'][:10] 
0 Office supplies  
1 Unknown    
2 Misc services  
3 Social services  
4 Unknown    
5 Manufacturing  
6 Social services  
7 Office supplies  
8 Entertainment  
9 Construction  
Name: industry, dtype: object 

Je suis en train de tracer un graphique à barres en utilisant matplotlib.pyplot comme bibliothèque plt avec le type de l'industrie sur l'axe x et leur fréquence sur l'axe y. Je ne suis pas vraiment sûr de ce que devrait être la valeur de l'argument 'hauteur'?

plt.bar(train['industry'], height =) 
+0

double possible de [Compter le nombre d'articles en pandas géants] (https://stackoverflow.com/questions/41084598/count-number-of-items-in-pandas) –

+0

le paramètre height est la hauteur que vous voulez que les barres soient. Cela signifie que 'x' est la séquence d'industries uniques dans votre dataframe, et' height' est le nombre de fois qu'ils apparaissent. 'pyplot.bar' ne fait pas le compte pour vous. –

+0

@PaulH Alors dois-je compter séparément leurs fréquences pour pouvoir tracer? En R c'est si facile avec ggplot2 -_- –

Répondre

0

La hauteur est votre fréquence. Voici un example

  1. Marque tableau de longueur len(train.index)

  2. Faites votre diagramme à barres sans les noms de l'industrie - plt.bar(array, frequency). La fréquence/hauteur ne peut pas être une chaîne. Il doit être numérique. Dans le cas contraire, le convertir en utilisant pd.to_numeric

  3. noms Mettre l'industrie dans un tableau

  4. utilisation set_xticklabels(industries) pour changer les étiquettes