【发布时间】:2011-12-03 09:42:08
【问题描述】:
给定一个值数组,我想通过它们的计数绘制这些值的对数直方图。我只知道如何记录 x 值,但不知道 y 值,因为它们没有在我的程序中显式创建。
【问题讨论】:
标签: python matplotlib histogram
给定一个值数组,我想通过它们的计数绘制这些值的对数直方图。我只知道如何记录 x 值,但不知道 y 值,因为它们没有在我的程序中显式创建。
【问题讨论】:
标签: python matplotlib histogram
查看 pyplot documentation。
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 中有多少元素的实际计数,绘制在对数轴上(人们通常所说的对数图)。我无法从你的措辞中看出你是否想要这个或绘制在线性轴上的计数对数。
顺便说一句,垃圾箱甚至不必均匀分布。
【讨论】: