假设我有一个如下所示的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
列?
3条答案
按热度按时间6tr1vspr1#
要只绘制选定的列,可以通过将列表传递给下标运算符来选择感兴趣的列:
您尝试的是
df['V1','V2']
,这将引发一个KeyError
,因为正确地不存在具有该标签的列,尽管一开始看起来很有趣,但您必须考虑到您正在传递一个列表,因此使用了双方括号[[]]
。wz1wpwve2#
从Pandas Dataframe 绘制的最小海上方法:
8yparm6h3#
列标签可以作为轴标签传递(y轴允许多个列标签),而且从panda 1.1开始,轴标签也可以传递到
plot()
调用中。