【问题标题】:How to make a log log histogram in python如何在python中制作日志日志直方图
【发布时间】:2011-12-03 09:42:08
【问题描述】:

给定一个值数组,我想通过它们的计数绘制这些值的对数直方图。我只知道如何记录 x 值,但不知道 y 值,因为它们没有在我的程序中显式创建。

【问题讨论】:

    标签: python matplotlib histogram


    【解决方案1】:

    查看 pyplot documentation

    • pyplot.hist 可以使用关键字参数 log=True 为您“记录”y 轴
    • pyplot.hist 接受 bins 关键字参数,但您必须自己“记录”x 轴

    例如:

    #!/usr/bin/python
    import numpy
    from matplotlib import pyplot as plt
    
    data = numpy.random.gumbel(2 ** 20, 2 ** 19, (1000, ))
    
    bins = range(15, 25)
    plt.xticks(bins, ["2^%s" % i for i in bins])
    plt.hist(numpy.log2(data), log=True, bins=bins)
    plt.show()
    

    这将为您提供每个 bin 中有多少元素的实际计数,绘制在对数轴上(人们通常所说的对数图)。我无法从你的措辞中看出你是否想要这个或绘制在线性轴上的计数对数。

    顺便说一句,垃圾箱甚至不必均匀分布。

    【讨论】:

    • 绘制线性轴计数的对数比较容易,无论如何两种方法都会给出相同的图表。 +1 键开始。但我不明白你在代码中做了什么:你是否在真正的线性 x 尺度上显示假指数刻度标签?
    猜你喜欢
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多