0

ここに画像の説明を入力してくださいy軸を対数スケールに変更したときにハッチが間違った場所にあるのはなぜですか?

対数スケールを削除すると、それらはヒストグラム列の内側にあり、対数スケールの外側にあります

from scipy.stats import norm
import matplotlib.mlab as mlab
import numpy as np
import matplotlib.pyplot as plt



data=np.genfromtxt(FileName)

Flow=data[:,1]

Max=np.amax(Flow)
Min=np.amin(Flow)


n, bins=np.histogram(Flow, 15)


n, bins, patches = plt.hist(Flow, 15, color= 'b',log=True, histtype='step',hatch='/')


(mu, sigma) = norm.fit(Flow)

y = mlab.normpdf( bins, mu, sigma)

plt.xlabel('Flow (m3/s)')

plt.ylabel('Number of Observations')

plt.title(r'$\mathrm{Flow:}\ \mu=%.3f,\ \sigma=%.3f, Min=%.3f, Max=%.3f$' %(mu, sigma, Min, Max))



plt.show()
4

1 に答える 1

0

ステップラインを描画するとき、Y軸データの最初の要素は常に0であり、対数スケールは0を表示できないため、ステップラインの最初のポイントが削除されます。

データに非常に小さな正の値を追加してみることができます。

n, bins, patches = plt.hist(Flow+1e-12, 15, color= 'b',log=True, histtype='step',hatch='/')
于 2012-09-19T12:58:34.373 に答える