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 graphique en barres pour comparer les colonnes V1
et V2
par le 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)
Je reçois un tracé et une légende avec les valeurs et les noms de toutes les colonnes. Comment puis-je modifier mon code afin que le tracé et la légende n'affiche que les colonnes V1
et V2
Pour tracer uniquement une sélection de vos colonnes, vous pouvez sélectionner les colonnes qui vous intéressent en transmettant une liste à l'opérateur indice:
ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)
Ce que vous avez essayé, c'était df['V1','V2']
cela va générer un KeyError
car aucune colonne n’existe correctement avec cette étiquette, bien que cela ait l’air drôle au début, vous devez considérer que vous passez une liste d’où les doubles crochets [[]]
.
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()