给定一个值数组,我想根据它们的计数绘制这些值的对数日志直方图。我只知道如何记录x值,而不是y值,因为它们没有在我的程序中显式创建。
答案 0 :(得分:23)
查看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()
这将为您提供在日志轴上绘制的每个箱中有多少元素的实际计数(这是人们通常用对数图表示的含义)。如果您想要这个或者在线性轴上绘制计数的日志,我无法从您的措辞中得知。
不过,箱子甚至不需要均匀分布。