我正在尝试绘制数组元素的直方图。这些元素值跨越10个订单(从10^-10
到1
)。但是,我真正感兴趣的范围只有10^-10 - 10^-5
。
所以我想在直方x轴上绘制直方图。我按照这两个讨论进行了here和here。
在第一种情况下:
import pylab as pl
import numpy as np
data = np.random.normal(size=10000)
pl.hist(data, bins=np.logspace(0.1, 1.0, 50))
pl.gca().set_xscale("log")
未绘制情节。轴显示清楚但图中没有直方图。
如果我用bins=np.logspace(0.1, 1.0, 50)
替换一个简单的值,让我们说100
,图表就会正确显示。
在第二次讨论中:
plt.xscale('log', nonposy='clip')
我不知道如何指定所选x范围内的分档数量:软件会自动在数组中的整个值范围内分配指定数量的分档。
我错过了什么?