Python Pyplot如何从多个列表的平均值创建直方图?

Python Pyplot如何从多个列表的平均值创建直方图?,python,matplotlib,histogram,Python,Matplotlib,Histogram,我有一个包含数据的文件,我将其分为三类。我想显示三个不同的“箱子”,它们都只显示一个数字(该类别的平均值) 导入csv 将matplotlib.pyplot作为plt导入 导入seaborn作为sns c1=[1,1,1,3,3]#平均2 c2=[8,12]#平均10 c3=[20,30,40]#平均30 sns.set(style='ticks') plt.hist([(总和(c1)/len(c1)),(总和(c2)/len(c2)),(总和(c3)/len(c3))],bin=8) plt.

我有一个包含数据的文件,我将其分为三类。我想显示三个不同的“箱子”,它们都只显示一个数字(该类别的平均值)

导入csv
将matplotlib.pyplot作为plt导入
导入seaborn作为sns
c1=[1,1,1,3,3]#平均2
c2=[8,12]#平均10
c3=[20,30,40]#平均30
sns.set(style='ticks')
plt.hist([(总和(c1)/len(c1)),(总和(c2)/len(c2)),(总和(c3)/len(c3))],bin=8)
plt.show()
现在我知道我的代码不起作用了,我只是不知道如何设置这样的东西来得到我想要的结果


总结一下我想要的:在x轴c1,c2,c3上。在y轴上,我希望c1为该列表的平均值(y轴上的2个为c1),c2为10,c3为30。

因为您只需要每个列表的平均值,所以您需要的是一个条形图而不是柱状图,刻度标签表示
c1
c2
c3
。直方图用于绘制分布,每个列表需要一个离散的平均条

import matplotlib.pyplot as plt
import seaborn as sns

c1 = [1, 1, 1, 3, 3, 3] # average 2
c2 = [8, 12] # average 10
c3 = [20, 30, 40] # average 30 

sns.set(style='ticks')

plt.bar(range(3), [(sum(c1)/len(c1)), (sum(c2)/len(c2)), (sum(c3)/len(c3))])
plt.xticks(range(3), ['c1', 'c2', 'c3'])
plt.show()