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 在单个条形图上绘制多列 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
用 Pandas 上的值注释条形图(在 Seaborn factorplot 条形图上)
python使用matplotlib绘制水平条形图并在条形图上添加实际数值标签实战