據我所知,直方圖函數中的Log = True選項僅指y軸。如何在Python直方圖中使用對數格
P.hist(d,bins=50,log=True,alpha=0.5,color='b',histtype='step')
我需要bin10在log10中被等距分隔。有什麼可以做到這一點?
據我所知,直方圖函數中的Log = True選項僅指y軸。如何在Python直方圖中使用對數格
P.hist(d,bins=50,log=True,alpha=0.5,color='b',histtype='step')
我需要bin10在log10中被等距分隔。有什麼可以做到這一點?
使用logspace()創建幾何序列,並將其傳遞給bin參數。並將xaxis的比例設置爲對數比例。
import pylab as pl
import numpy as np
data = np.random.normal(size=10000)
pl.hist(data, bins=np.logspace(np.log10(0.1),np.log10(1.0), 50))
pl.gca().set_xscale("log")
pl.show()
請注意,'np.logspace(0.1,1.0,...)'將創建一個範圍從'10 ** 0.1'到'10 ** 1.0',而不是從'0.1'到'1.0' –
應該是'np .logspace(np.log10(0.1),np.log10(1.0),50)' – OrangeSherbet
最直接的方式就是計算的極限日誌10,計算線性間隔箱,然後通過提高至10的功率,如下轉換回:
import pylab as pl
import numpy as np
data = np.random.normal(size=10000)
MIN, MAX = .01, 10.0
pl.figure()
pl.hist(data, bins = 10 ** np.linspace(np.log10(MIN), np.log10(MAX), 50))
pl.gca().set_xscale("log")
pl.show()
log histogram from .01 to 10 http://i57.tinypic.com/f1z8uu.png
除了什麼規定,對大熊貓進行這種dataframes作品,以及:
some_column_hist = dataframe['some_column'].plot(bins=np.logspace(-2, np.log10(max_value), 100), kind='hist', loglog=True, xlim=(0,max_value))
我會提醒的是,可能存在正常化垃圾箱的問題。每個箱子都比前一個箱子大,因此必須除以它的大小以便在繪圖之前對頻率進行歸一化,似乎我的解決方案和HYRY的解決方案都不能解釋這一點。
你必須,如果你這樣做分箱寬度除以計每個倉! – Peaceful