相关疑难解决方法(0)

如何在python中规范化直方图?

我试图绘制标准直方图,但是在y轴上得到1作为最大值,我得到不同的数字.

对于数组k =(1,4,3,1)

 import numpy as np

 def plotGraph():

    import matplotlib.pyplot as plt

    k=(1,4,3,1)

    plt.hist(k, normed=1)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  

plotGraph()
Run Code Online (Sandbox Code Playgroud)

我得到这个直方图,看起来不像诺曼.

在此输入图像描述

对于不同的数组k =(3,3,3,3)

 import numpy as np

 def plotGraph():

    import matplotlib.pyplot as plt

    k=(3,3,3,3)

    plt.hist(k, normed=1)

    from numpy import *
    plt.xticks( arange(10) ) # 10 ticks on x axis

    plt.show()  

plotGraph()
Run Code Online (Sandbox Code Playgroud)

我得到这个直方图,最大y值是10.

在此输入图像描述

对于不同的k,即使normed = 1或normed = True,我也得到不同的y的最大值.

为什么规范化(如果有效)会根据数据发生变化,如何使y的最大值等于1?

更新:

我试图通过在matplotlib中绘制条形高度总和为1的直方图来实现CarstenKönig的答案并得到非常奇怪的结果:

import numpy as np

def …
Run Code Online (Sandbox Code Playgroud)

python matplotlib normalization

5
推荐指数
3
解决办法
5万
查看次数

标签 统计

matplotlib ×1

normalization ×1

python ×1