【问题标题】:How are the values for x and y axis chosen for histogram plots?如何为直方图选择 x 和 y 轴的值?
【发布时间】:2020-03-11 12:36:02
【问题描述】:

我正在绘制直方图,但我不了解 x 和 y 轴的值。他们如何获得他们的价值观?

x=np.random.randint(0,100,100)
x=pd.DataFrame(x)
means=[]
for i in range(0,10000):
    means.append(x[0].sample(10).mean())
plt.hist(means)

帮助我分析这个视觉效果。

【问题讨论】:

    标签: python pandas matplotlib histogram


    【解决方案1】:

    您已经创建了包含 10000 个值的均值列表。 直方图的 x 轴对应于该均值列表的每个值。 y 轴在其矩形间隔的宽度内计算这些 x 值的频率。

    所以,视觉就是这个连续变量的分布。 而且,正如您将看到的,它显示了一个正态分布,通常称为钟形曲线

    你可以有另一个分布图:

    import seaborn
    seaborn.distplot(means)
    

    【讨论】:

      【解决方案2】:

      首先将您的数据集生成为 100 个随机数字。

      在这一行中,您从第 0 列中随机抽取 10 个数字并获得平均值。因此它将是一个数字。

      means.append(x[0].sample(10).mean())
      

      看看这个例子

      在这里,我绘制了一个值,而不是循环遍历以便于理解。在此示例中,随机平均值为 32。它被视为 X 轴值并根据matplotlib documentation if you don't specify a bin,it will take default bins as 10。您可以看到在绘图上方打印出两个数组。第二个数组是 bins 数组,第一个数组是直方图箱。 check the return part of the documentation.。 Y 轴是 bin 中值的出现次数。

      【讨论】:

        【解决方案3】:
        import numpy as np
        import pandas as pd
        from matplotlib import pyplot as plt
        
        x=np.random.randint(0,100,100)
        x=pd.DataFrame(x)
        means=[]
        for i in range(0,10000):
            means.append(x[0].sample(10).mean())
        plt.hist(means)
        plt.show()
        

        这会产生:

        您的平均值有 32.8、19.4、73.9、54.3 等值(10000 个此类值)。直方图将这 10000 个数字分成由范围定义的组。例如,一个 bin 的均值小于 13,另一个 bin 的值在 13 和 19 之间,...。箱的值在 x 轴上可见。在 y 轴上显示每个 bin 中有多少值。在这种情况下,最大的有大约 2700 个(大约 x 值 50)。

        在 x 轴上选择的值会根据您的数据自动计算。该算法会猜测在一般情况下什么是合适的。如果你愿意,你可以给你自己的垃圾箱作为额外的参数。 y轴只是来自计数,所以选择较少。

        【讨论】:

          猜你喜欢
          • 2013-04-16
          • 2021-10-24
          • 1970-01-01
          • 2014-05-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多