Pandas 在单个条形图上绘制多列 [重复]

Posted

技术标签:

【中文标题】Pandas 在单个条形图上绘制多列 [重复]【英文标题】:Pandas plot multiple columns on a single bar chart [duplicate] 【发布时间】:2019-03-02 18:57:36 【问题描述】:

我正在尝试将多个列绘制到单个条形图上。

首先,我定义了它们:

public_action_sum = df['Q17.4_1'].sum()    
testified_sum = df['Q17.4_4'].sum()
met_el_sum = df['Q17.4_5'].sum()
... 

然后将这些总和合并到一个数据框中: actions_combined = [public_action_sum, testified_sum, met_el_sum, policy_sum, bill_sum]

我正在尝试使用pandas.DataFrame.plot.bar 并写道:

pd.DataFrame.plot.bar(x['Q17.4_1','Q17.4_4','Q17.4_5','Q17.4_6','Q17.4_7'],y=actions_combined,rot=0)

但我收到错误“缺少 1 个必需的位置参数:'self'

我已经花了一个半小时试图弄清楚这个 iout,但不确定我哪里出错了。想法?谢谢!

【问题讨论】:

您可以在下面看到我的答案,但是当您在上面的代码中分配关键字 x 时,您也缺少等号 = 【参考方案1】:

这是一个简短的示例数据框:

         Date     Open     High     Low    Close  Adj Close    Volume
0  1996-01-01  4.06250  4.12500  3.8750  3.90625   3.093209   7048800
1  1996-02-01  3.84375  3.96875  3.5000  3.62500   2.870497  12864000
2  1996-03-01  3.50000  4.25000  3.5000  4.12500   3.266428   9526400
3  1996-04-01  4.06250  4.68750  4.0625  4.50000   3.563378   5693600
4  1996-05-01  4.40625  4.65625  4.1250  4.21875   3.340666  30480000

那么你可以这样做:

import pandas as pd
import matplotlib.pyplot as plt

df[['Open','High','Low','Close','Adj Close']].plot(kind='bar')

plt.show()

这给出了:

【讨论】:

我知道这很简单。谢谢!

以上是关于Pandas 在单个条形图上绘制多列 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在R中的单个图上绘制两个变量的条形图和第三个变量的线图

同一图上的条形图/线图,但条形图前面的轴和线图不同

用 Pandas 上的值注释条形图(在 Seaborn factorplot 条形图上)

python使用matplotlib绘制水平条形图并在条形图上添加实际数值标签实战

如何在 matplotlib pandas 的一张图中组合两个文件的两个条形图

在悬停时在堆积条形图上绘制水平线(图表 js)