我正在尝试绘制一个直方图,如下所示,每10个值使用不同的颜色。
然而,我不确定直方图中的箱,只能得到如下图。
y=[500, 477, 455, 434, 415, 396, 378, 361, 344, 328, 314, 299, 286, 273, 260, 248, 237, 226, 216, 206, 197, 188, 179, 171, 163, 156, 149, 142, 135, 129, 123, 118, 112, 107, 102, 98, 93, 89, 85, 81, 77, 74, 70, 67, 64, 61, 58, 56, 53, 51, 48, 46, 44, 42, 40, 38, 36, 35, 33, 32, 30, 29, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 15, 14, 13, 13, 12, 12, 11, 11, 10, 10, 9, 9, 8, 8, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5]
x = list(range(100))
plt.hist(y,x)
直方图看起来像
任何帮助都将不胜感激。TIA
2条答案
按热度按时间goqiplq21#
plt.hist(y, x)
生成y
值的直方图,并使用x
确定柱形。因此,创建了99个条形。首先,有5个高度为0的条形,因为没有低于5的y
值。然后,有一个高度为4的条形,因为有4个y
值的值为5,然后是另一个高度为4的条形,对应于6。但是,由于
y
值似乎对应于每个x
的计数,因此可以直接创建条形图。您可以创建一个条形图。
plt.bar
有一个方便的参数color
,您可以在其中为每个条形提供一个颜色。可以使用条形的平均x位置定位刻度标签。jutyujz02#
我认为你应该使用
plt.bar()
与x和y根据您的要求,而不是直方图。这将给你的酒吧你想要的方式。此外,你可以选择颜色的每个酒吧使用set_color(your_color)
。更新的代码如下。请确保你有足够的颜色在列表中,以便您可以显示不同的颜色。希望这是你正在寻找的...