【问题标题】:How to avoid different gaps between bars in matplotlib hist?如何避免matplotlib hist中条之间的不同间隙?
【发布时间】:2021-02-08 15:18:03
【问题描述】:

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

from matplotlib import pyplot as plt

values = ["D", "E", "A", "E", "B", "C", "A", "A", "D", "E"]
plt.hist(values)

但是,第 2 条和第 3 条之间的差距很大:

有什么办法可以保证列之间的间隙大小相同(不管列数多少)?

【问题讨论】:

  • 是直方图,所以我猜需要将区间数设置为总数-1。plt.hist(values, bins=4)

标签: python matplotlib histogram


【解决方案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)

【讨论】:

    猜你喜欢
    • 2013-12-25
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    相关资源
    最近更新 更多