Python 如何仅使用对数xscale在pyplot中绘制累积直方图

Python 如何仅使用对数xscale在pyplot中绘制累积直方图,python,matplotlib,Python,Matplotlib,这将绘制对数xscale和yscale。似乎无法理解如何仅绘制对数xscale plt.hist(data, bins=10, cumulative=True, log=True) 可以使用以下命令更改y轴上的日志: plt.gca().set_yscale('linear') 或在人物处于焦点时按L键 但是,使用log=True的hist()不会绘制对数x轴。从: matplotlib.pyplot.hist(x,bin=10,…) 垃圾箱: 一个整数个箱子或一个给出箱子的序列。如果bin

这将绘制对数xscale和yscale。似乎无法理解如何仅绘制对数xscale

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

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

plt.gca().set_yscale('linear')
或在人物处于焦点时按L键

但是,使用
log=True的
hist()
不会绘制对数x轴。从:

matplotlib.pyplot.hist(x,bin=10,…)

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

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

plt.hist(x, bins=10**np.linspace(0, 1, 10))

在柱状图上删除
log=True
参数,并使用axes对象的
setxscale(“log”)
。这会导致条宽不相等。如果您是对的,它不会将xscale设置为log。关于xscale和不等垃圾箱等,你说得对。回答得好,谢谢。