gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 07:45:04 30 4
gpt4 key购买 nike

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

import csv
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.hist([(sum(c1)/len(c1)), (sum(c2)/len(c2)), (sum(c3)/len(c3))], bins=8)
plt.show()

现在我知道我的代码不起作用,我只是不知道如何设置这样的东西来获得我想要的结果。

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

最佳答案

由于您只需要每个列表的平均值,因此您需要的是条形图而不是直方图,其中刻度标签代表 c1c2c3。直方图用于绘制分布,每个列表都需要一个离散平均条

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()

enter image description here

关于python - Pyplot 如何从多个列表的平均值创建直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56502338/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com