我有一个小代码,用以下代码生成以下图片:
代码1:
hist, rhist = np.histogram(r, bins=40, range=(0, 0.25))
hist = -hist/np.trapz(rhist[:-1],hist)
plt.plot(rhist[:-1], hist)
代码1的输出:
然后我尝试将绘图设置为具有对数Y轴,以便我可以更清楚地识别小峰。这就是结果。
代码2:
hist, rhist = np.histogram(r, bins=40, range=(0, 0.25))
hist = -hist/np.trapz(rhist[:-1],hist)
plt.semilogy(rhist[:-1], hist)
代码2的输出:
如你所见,我的部分情节消失了。有40个箱子,但我可以在新的地块中只计算大约15个。任何帮助将不胜感激。我正在使用最新版本的Enthought Canopy用于学术用途。即
更新:我确实发现了一个类似的问题here,旧的,死的,没有答案的。
答案 0 :(得分:1)
我很确定这不会绘制这些值,因为它们是零。
Log(0)= -Infinity。
绘制图表会让你的图表看起来很垃圾......
答案 1 :(得分:1)
在您的绘图结束时发出plt.yscale('symlog')
。有关'symlog'
的说明,请参阅here。
答案 2 :(得分:0)
一个常见的视觉技巧在日志范围内“显示”零是使用非常小的值:
plt.semilogy(rhist[:-1], hist+1e-6)
在这种情况下,要注意正确解释情节。