这绘制了对数 xscale 和 yscale。似乎无法弄清楚如何仅绘制对数 xscale。
plt.hist(data, bins=10, cumulative=True, log=True)
这绘制了对数 xscale 和 yscale。似乎无法弄清楚如何仅绘制对数 xscale。
plt.hist(data, bins=10, cumulative=True, log=True)
您可以使用以下命令更改 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))