我有一個我編寫的分析數據的腳本,爲每條數據生成一個值(介於0和2之間),刪除一些數據基於算法,然後重複分析和生成值。在刪除數據的每一步中,它會生成數據記錄的累積頻率直方圖,以幫助在y軸從0到1(意思是0%到100%)的某些生成值範圍內可視化尖峯,以及x軸從0到2(可能值的範圍),因此線圖中的陡峭斜率表示陡峭斜率出現在特定域上的大量值,如此frequency histogram example。 (請注意累積圖中直方圖相對於斜率的直方圖尖峯)Pyplot中的累積頻率直方圖不會繪製零值數據的完整圖形
我遇到的問題是,當我生成我的圖時,僅爲其值生成零的數據的累積頻率直方圖應該是在y=1
之間的直線表示100%的數字對於該特定地塊具有零值,但是相反,我得到y=1
的線,該線只從x=0
到x=0.5
,如在graph中所見。我需要這條線路在y=1
,從x=0
到x=2
。
這裏是生成的曲線的代碼:
# Calculate histogram and bins
hist_, bins_ = np.histogram(e.real, bins = 500, normed=0)
cuml = np.cumsum(hist_)
# Plot and normalize data range by dividing values
plt.plot(bins_[:-1], np.divide(cuml,float(max(cuml))) , label=str(rem_) + ' removed', marker = markr.next(), markevery = 9)
# Limit axis ranges to possible values
plt.xlim(0, 2)
plt.ylim(0, 1)
的e.real
是保存所生成的值的列表對象,這裏是上面鏈接的曲線圖的繪製過程中記錄的它的值:
200 removed
[ 2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0.
2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0. 2. 0.
2. 0. 2. 0. 2. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0.]
300 removed
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
382 removed
[ 0.]
正如可以在記錄值和圖中看到,在200移除圖形可視化使n的約80%小室具有零值(由開始於x=0
開始的行表示),其餘的值爲2(由y=0.9
到y=1
在x=2
處的圖表指示)。在300除去和382除去的曲線中,日誌顯示的值的100%都爲零,圖表應確認用的線穿過y=1
在x=0
開始,而不是表示該短行,只有去x=0.5
。
(注:300去除和382去除具有相同的圖形和重疊,形成短線;重疊是正確的行爲)
如何解決我的線長度的任何想法?任何幫助表示讚賞。
對於'''300 removed'''數據集,指定箱的邊緣序列,而不是窗口的數量可以使圖形看起來像你希望。我沒有在其他數據集上嘗試過。似乎你想要所有數據集都有相同的邊緣。 '''bins = np.linspace(0,2,500)'''然後 '''h,b = np.histogram(data,bins = bins,normed = 0)'''' – wwii