熊猫在单个条形图上绘制多个列

时间:2018-09-26 23:08:05

标签: python pandas plot

我正在尝试在一个条形图上绘制多个列。

首先,我定义了它们:

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'

我花了最后一个半小时试图弄清楚这一点,但不确定我要去哪里。有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分: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()

哪个给:

enter image description here