当前位置: 首页 > 知识库问答 >
问题:

使用matplot.lib绘制直方图

公羊光明
2023-03-14

我正在尝试使用 marplot.lib 库在 Python 中绘制直方图;但是,我一直收到此错误:“属性错误:箱必须单调增加。

这是我目前的代码:

def draw_viz(info):
    stars = [tup[0] for tup in info]
    scores = [tup[1] for tup in info]

    plt.hist(range, scores)
    plt.show()

传入的参数是信息。“信息”是一个元组列表,可能如下所示:

[(4, 0.7984031936127745), (5, 0.5988023952095809), (5, 0.8739076154806492), (5, 0.7364544976328248), (3, 0.9980039920159681), (1, 0.8455034588777863), (4, 0.6659267480577137), (5, 0.9950248756218907), (5, 0.9991673605328892), (3, 0.5828476269775188), (1, 0.5226084980686208), (1, 0.5291005291005291), (4, 0.7984031936127745), (4, 0.5380476556495004), (5, 0.6357856494096277), (2, 0.9975062344139651), (4, 0.6644518272425249)]

我的范围限制为1,2,3,4或5。分数介于 0 和 1 之间。

我想画一个可以处理我传入内容的直方图,但我真的不确定如何做到这一点,甚至不确定如何初始化这个箱子......

任何帮助将不胜感激!

共有2个答案

毛勇
2023-03-14

您以错误的顺序获得参数hist首先需要数据,然后是可选的一些垃圾箱或垃圾箱边缘列表。在你的情况下,我会这样做

plt.hist(stars,[0.5,1.5,2.5,3.5,4.5,5.5])
plt.show()

plt.hist(scores)
plt.show
姜胤
2023-03-14

您忘记了向< code>range参数传递一个值(这并不是真正必要的)。数据本身是完全有效的。下面的代码应该给你一个粗略的图表:

plt.hist(stars, bins=5)
plt.show()

如果需要更好的外观,可以:

plt.hist(stars, bins=np.arange(6)+0.5)
plt.xticks(range(1,6))
plt.xlim([0.5,5.5])
plt.show()

进一步参考:

  • Matplotlib xticks与直方图不对齐
  • Matplotlib中的箱子大小(直方图)
 类似资料:
  • numpy.histogram()函数将输入数组和作为两个参数。 bin数组中的连续元素用作每个bin的边界。 Matplotlib 可以将直方图的数字表示转换为图形。 pyplot子模块的plt()函数将包含数据和数组的数组作为参数,并转换为直方图。

  • 有没有一种方法来绘制的CDF累积直方图的熊猫系列在Python中只使用海运?我有以下几点: 我知道我可以用绘制累积直方图,然后我知道我可以使用,但我想在Seaborn中实现这两个功能,就像用,提供kde拟合和直方图。有办法吗?

  • 我有一个“长”格式的数据框,它包含两列:第一列值,第二列性别[Male-1/Female-2]。我编写了一些代码来制作整个数据集的直方图(下面的代码)。 但是,我还想在直方图上添加一个密度,以强调性别之间的差异,即我想组合3个图:整个数据集的直方图,以及每个性别的2个密度图。我尝试使用一些示例(一、二、三、四),但仍然不起作用。“密度”代码仅起作用,而“历史密度”的组合不起作用。 P. S.一些例

  • 本文向大家介绍C#使用GDI绘制直线的方法,包括了C#使用GDI绘制直线的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#使用GDI绘制直线的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 我有一个三维阵列。列的标题是“身高”、“体重”和“年龄”。如何使用或任何其他可用功能绘制三维直方图? 我从这段代码开始,但后来我陷入了如何绘制三维直方图的困境。谢谢你宝贵的时间

  • 问题内容: 我在netbeans平台上制作了App。我想绘制直方图。我有红色,绿色和蓝色的图像像素。因此,请任何人对我提出建议,如何使用该像素值绘制直方图?我的代码在下面,其中我使用图像的红色,绿色和蓝色像素值。 问题答案: