【问题标题】:Histogram from data which is already binned, I have bins and frequency values来自已经分箱的数据的直方图,我有分箱和频率值
【发布时间】:2013-06-18 18:04:12
【问题描述】:

所有 matplotlib exampleshist() 生成一个数据集,将数据集提供给带有一些 bin(可能是非均匀间隔)的 hist 函数,该函数会自动计算并绘制直方图。

我已经有直方图数据,我只是想绘制它,我该怎么做?!例如,我有垃圾箱(半开范围用方括号和弯括号表示),

[0, 1)   0
[1, 2)   3
[2, 3)   8
[3, 4)   6
[4, 5)   2
[5, 6)   3
[6, 7)   1
[7, 8)   0

【问题讨论】:

标签: python matplotlib histogram


【解决方案1】:

我很惊讶这里还没有人提到 plt.step 来制作阶梯图......

a= [1,2,3,4,5,6,7,8,9]
b= [5,3,4,5,3,2,1,2,3]
plt.step(a,b)

【讨论】:

    【解决方案2】:

    另外,作为替代方案(类似于 Matlab),您可以使用bar

    import matplotlib.pyplot as plt
    
    a= [1,2,3,4,5,6,7,8,9]
    b= [5,3,4,5,3,2,1,2,3]
    plt.bar(a,b)
    

    然后,您还可以添加标题和其他内容,最后保存图像:

    plt.title("Clock cycles")
    plt.grid()
    plt.xlabel("Size of the matrices processed")
    plt.ylabel("Clock cycles")
    plt.savefig("clock_cycles.svg")
    

    【讨论】:

    • 使用直方图,您的条形图位于刻度之间,这更有意义,因为标签实际上是范围。对于 .bar(),条形图位于刻度上。
    【解决方案3】:

    也许重量参数会对您的问题有所帮助。

    import matplotlib.pyplot as plt
    
    a= [1,2,3,4,5,6,7,8,9]
    b= [5,3,4,5,3,2,1,2,3]
    plt.hist(a,9, weights=b)
    plt.show()
    

    或者,正如 tcaswell 所说,您可以制作条形图并更改 x 轴。

    Using matplotlib how could I plot a histogram with given data in python

    是一个链接。

    【讨论】:

      猜你喜欢
      • 2012-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      • 2021-08-29
      • 1970-01-01
      • 2013-03-19
      • 1970-01-01
      相关资源
      最近更新 更多