从Pandas DataFrame绘制条形图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从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

我试图创建一个条形图来比较V1V2Hour。当我做:

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)

我得到了一个情节和一个包含所有列的值和名称的图例。如何修改我的代码,以便绘图和图例只显示列V1V2

答案

要仅绘制列的选择,您可以通过将列表传递给下标运算符来选择感兴趣的列:

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

以上是关于从Pandas DataFrame绘制条形图的主要内容,如果未能解决你的问题,请参考以下文章

按小时重新采样 Pandas DataFrame 并使用 Plotly 绘制堆积条形图

Pandas Dataframe 到 Seaborn 分组条形图

在同一轴上绘制多个条形图

没有 NaN 值空间的 Pandas 绘图条

Pandas一行代码绘制25种美图

plotly基于dataframe数据绘制柱状图(bar plot)