График графика из Pandas DataFrame

Предполагая, что у меня есть DataFrame, который выглядит так:

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

Я пытаюсь создать график штрихов для сравнения столбцов V1 и V2 с помощью Hour. Когда я это сделаю:

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)

Я получаю сюжет и легенду со всеми значениями и именами столбцов. Как я могу изменить свой код, чтобы сюжет и легенда отображали только столбцы V1 и V2

Ответы

Ответ 1

Чтобы отобразить только один из выбранных столбцов, вы можете выбрать интересующие столбцы, передав список оператору индекса:

ax = df[['V1','V2']].plot(kind='bar', title ="V comp", figsize=(15, 10), legend=True, fontsize=12)

То, что вы пробовали, было df['V1','V2'], это поднимет значение KeyError, так как в нем не будет столбца, хотя он выглядит смешно сначала, вы должны подумать о том, что вы передаете список, поэтому двойные квадратные скобки [[]].

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()

enter image description here