首页 > 解决方案 > Seaborn barplot - 没有估计器参数的列值

问题描述

我是 seaborn 绘图的初学者,并注意到 sns.barplot 使用称为估计器的参数显示条的值。条形图有没有办法显示每列的值,而不是通过估计器参数使用统计方法?

例如,我有以下数据框:

data = [["2019/oct",10],["2019/oct",20],["2019/oct",30],["2019/oct",40],["2019/nov",20],["2019/dec",30]] 

df = pd.DataFrame(data, columns=['Period', 'Observations'])

我想绘制“2019/oct”期间的所有值(10、20、30 和 40),但条形图返回“2019/oct”期间这些值的平均值(25) “:

sns.barplot(x='Period',y='Observations',data=df,ci=None)

如何将所有列值带到图表中?

在此处输入图像描述

标签: pythondataframeplotbar-chartseaborn

解决方案


barplot结合相同的值x,除非有不同的hue。如果您想为“2019/oct”保留不同的值,您可以创建一个新列来为它们赋予不同的属性hue

data = [["2019/oct",10],["2019/oct",20],["2019/oct",30],["2019/oct",40],["2019/nov",20],["2019/dec",30]] 
df = pd.DataFrame(data, columns=['Period', 'Observations'])

df['subgroup'] = df.groupby('Period').cumcount()+1
sns.barplot(x='Period',y='Observations',hue='subgroup',data=df,ci=None)

在此处输入图像描述


推荐阅读