2016-04-14 22 views
1

データセットの相対的な累積頻度のグラフを生成するコードを実行すると、グラフはグラフが直線を横切る点で直線で表示されますy=1右側、like this oneMatplotlibの累積頻度グラフ(Pythonの余分な行を含む)

グラフy=1、または100%に達したら、y軸は、累積度数の0%〜100%を占め、範囲y=0y=1に限定され、それはは上限までy=1に継続すべきであるX軸はx=0からx=2になり、this graphに似ています。

y=1に達した後に、履歴図がy=1になるようにする方法はありますか? x軸は[0,2]の範囲に、y軸は[0,1]の範囲にとどめる必要があります。ここで

は、私は私のグラフを生成するために使用私のPythonコードです:

import matplotlib.pyplot as plt 
# ... 
plt.ylabel('Relative Cumulative Frequency') 
plt.xlabel('Normalized Eigenvalues') 
plt.hist(e.real, bins = 50, normed=1, histtype='step', cumulative=True) 
# Limit X and Y ranges 
plt.xlim(0, 2) 
plt.ylim(0, 1) 

おかげで、最大

答えて

0

あなたがあなた自身のビンとsetting the last bin to np.Inf作成することによってこれを行うことができます。

import matplotlib.pyplot as plt 
import numpy as np 
... 
x = np.random.rand(100,1) 

plt.ylabel('Relative Cumulative Frequency') 
plt.xlabel('Normalized Eigenvalues') 

binsCnt = 50 
bins = np.append(np.linspace(x.min(), x.max(), binsCnt), [np.inf]) 
plt.hist(x, bins = bins, normed=1, histtype='step', cumulative=True) 
# Limit X and Y ranges 
plt.xlim(0, 2) 
plt.ylim(0, 1) 
plt.show() 

plot

+0

私が入れたコードを実行すると、次の行にエラーが表示されます。 '>>> plt.his 'UnboundLocalError:ローカル変数 'ymin'が代入の前に参照されています。 ' –

+0

@ MaxSamuelsローカル変数yminは表示されません。多分あなたはどこかでグローバルを忘れたでしょうか? yminとは何ですか? – incBrain

+0

ああ、申し訳ありません、私の[エラーメッセージ](http://i.stack.imgur.com/1O6LM.png)にスクリーンショットを追加していません。 –