当前位置: 首页 > 面试题库 >

在matplotlib直方图中设置相对频率

史朗
2023-03-14
问题内容

我有数据作为浮动列表,我想将其绘制为直方图。Hist()函数可以完美地完成绝对直方图的绘制。但是,我无法弄清楚如何以相对频率格式表示它-
我想将其表示为y轴上的分数或理想情况下为百分比。

这是html" target="_blank">代码:

fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, patches = ax.hist(mydata, bins=100, normed=1, cumulative=0)
ax.set_xlabel('Bins', size=20)
ax.set_ylabel('Frequency', size=20)
ax.legend

plt.show()

我以为normed =
1参数可以做到这一点,但是它给出的分数太高,有时大于1。它们似乎也取决于bin的大小,好像它们没有通过bin大小或其他东西归一化。但是,当我将cumulative
= 1设置为1时,它的总和很好。那么,渔获量在哪里?顺便说一句,当我将相同的数据输入到Origin并将其绘制时,它为我提供了完全正确的分数。谢谢!


问题答案:

因为hist的规范化选项返回点的密度,例如dN / dx

您需要的是这样的:

 # assuming that mydata is an numpy array
 ax.hist(mydata, weights=np.zeros_like(mydata) + 1. / mydata.size)
 # this will give you fractions


 类似资料:
  • 直方图(Histogram),又称质量分布图,它是一种条形图的一种,由一系列高度不等的纵向线段来表示数据分布的情况。 直方图的横轴表示数据类型,纵轴表示分布情况。 首先,我们需要了解柱状图和直方图的区别。直方图用于概率分布,它显示了一组数值序列在给定的数值范围内出现的概率;而柱状图则用于展示各个类别的频数。 例如,我们对某工厂的员工年龄做直方图统计,首先我们要统计出每一位员工的年龄,然后设定一个

  • 我正在使用 matplotlib 生成一些直方图,并且在弄清楚如何使直方图的 xtick 与条形对齐时遇到了一些麻烦。 这是我用来生成直方图的代码示例: 我知道数组中的所有值都位于。这意味着有49个独特的值。我想显示每个值的直方图。这是生成内容的图片。 如何设置图形,使所有的x轴都与每个条形的左边、中间或右边对齐?

  • 这是来自[41]中的ipython笔记本 直方图条似乎没有正确地与网格对齐(见第一个子图)。这也是我在自己的作品中面临的问题。 有人能解释一下原因吗?

  • 我正在使用python中的matplotlib绘制直方图,并希望绘制一条代表数据集平均值的线,以虚线的形式覆盖在直方图上(或者其他颜色也可以)。关于如何在柱状图上画一条线有什么想法吗? 我正在使用plot()命令,但不确定如何绘制垂直线(即,我应该为y轴指定什么值? 谢谢

  • 问题内容: 我正在使用matplotlib制作直方图。 有什么方法可以手动设置垃圾箱的大小,而不是垃圾箱的数量吗? 问题答案: 实际上,这很简单:您可以提供一个带有bin边界的列表,而不是bin的数量。它们也可能分布不均: 如果只希望它们均匀分布,则可以使用range: 添加到原始答案 上一行仅适用于整数填充。正如macrocosme所指出的,对于浮点数,您可以使用:

  • 我使用matplotlib创建直方图。仍然有一些问题我自己或借助互联网无法解决。 > 如何更改某些垃圾箱的颜色?详细地说,我想用:a.)value bin更改箱子的颜色 如何不仅用1个小数点的数字标记X轴,而且用2个小数点标记X轴(现在只是不打印)? 请参见下面绘制的柱状图: plt。迄今为止的直方图

  • 我有一个从sql数据库查询派生的直方图。代码如下: 输出如下:https://gyazo.com/d73b20a118db0088aab261c079613b00 我想显示为:https://gyazo.com/063990cd8741682f45b5a37ba594ff56 其中,x轴的编号向右侧移动了一点。有可能做到这一点吗?

  • NumPy有一个numpy.histogram()函数,它是数据频率分布的图形表示。 相等水平尺寸的矩形对应于称为bin类间隔和对应于频率的variable height 。 numpy.histogram() numpy.histogram()函数将输入数组和bin作为两个参数。 bin数组中的连续元素充当每个bin的边界。 import numpy as np a = np.array([2