2

这绘制了对数 xscale 和 yscale。似乎无法弄清楚如何仅绘制对数 xscale。

plt.hist(data, bins=10, cumulative=True, log=True)
4

1 回答 1

2

您可以使用以下命令更改 y 轴上的日志:

plt.gca().set_yscale('linear')

或者在人物对焦时按 L 键。

但是,您的hist()withlog=True不会绘制对数 x 轴。从文档

matplotlib.pyplot.hist(x, bins=10, ...)

bins:整数个 bin 或给出 bin 的序列。如果 bins 是整数,则将返回 bins + 1 个 bin 边缘,这与 numpy 版本 >= 1.3 的 numpy.histogram() 以及早期版本中的 new = True 参数一致。如果 bins 是一个序列,则支持不等间距的 bins。

因此,如果您只是设置bins=10它们将是等距的,这就是为什么当您将 xscale 设置为 log 时,它们的宽度会减小。要在 log xscale 中获得等间距的 bin,您需要以下内容:

plt.hist(x, bins=10**np.linspace(0, 1, 10))
于 2012-12-15T12:55:53.353 回答