Graphique à barres de graphe de Pandas DataFrame
en Supposant que j'ai un DataFrame
qui ressemble à ceci:
Hour | V1 | V2 | A1 | A2
0 | 15 | 13 | 25 | 37
1 | 26 | 52 | 21 | 45
2 | 18 | 45 | 45 | 25
3 | 65 | 38 | 98 | 14
j'essaie de créer un diagramme en barres pour comparer les colonnes V1
et V2
par Hour
.
Quand je fais:
import matplotlib.pyplot as plt
ax = df.plot(kind='bar', title ="V comp",figsize=(15,10),legend=True, fontsize=12)
ax.set_xlabel("Hour",fontsize=12)
ax.set_ylabel("V",fontsize=12)
j'obtiens un tracé et une légende avec toutes les valeurs et les noms des colonnes. Comment puis-je modifier mon code pour l'intrigue et la légende affiche uniquement les colonnes V1
et V2
1 réponses
Pour tracer une sélection de vos colonnes vous pouvez sélectionner les colonnes d'intérêt par le passage d'une liste à l'indice de l'opérateur:
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
Ce que vous avez essayé df['V1','V2']
cela permettra d'amasser un KeyError
comme correctement aucune colonne n'existe avec cette étiquette, bien qu'elle semble drôle au premier abord, vous devez considérer que votre passent une liste d'où les crochets doubles [[]]
.
import matplotlib.pyplot as plt
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
ax.set_xlabel("Hour", fontsize=12)
ax.set_ylabel("V", fontsize=12)
plt.show()