如何避免 matplotlib hist 中条形之间的不同间隙?

我有一个数组,其中每个项目可以是 5 个值之一 ( A, B, C, D, E)。我想显示这些值的直方图:


from matplotlib import pyplot as plt


values = ["D", "E", "A", "E", "B", "C", "A", "A", "D", "E"]

plt.hist(values)

然而,第二条和第三条之间存在很大差距:

https://img1.sycdn.imooc.com/659661680001d92503650253.jpg

有什么方法可以确保列之间的间隙大小相同(无论列数多少)?



慕神8447489
浏览 46回答 1
1回答

心有法竹

有趣的问题。我从未尝试过用字符串制作直方图。我不太确定它是如何工作的。尽管它有点罗嗦,但我宁愿依靠计算出现的次数并使用bar()来绘制结果:values = ["D", "E", "A", "E", "B", "C", "A", "A", "D", "E"]val,count = np.unique(values, return_counts=True)fig, ax = plt.subplots()ax.bar(x=range(len(val)), height=count)ax.set_xticks(range(len(val)))ax.set_xticklabels(val)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python