2017-06-28 8 views
0

私は-5から5までのヒストグラムを持っていますので、操作してプロットできるようにしてください。ヒストグラムプロットまたは配列の対称性?

しかし、私はデータを対称化する必要があります(0から5にする)し、KSテストを実行します。

1)起こってヒストグラムをプロットする方法で:だから私はどちらかあなたの助けを本当に感謝どの規範とコーシーの罰金です..しかし、私はscipy.stats

で「半分の学生トン」PDFを見つけることができません5、4、3、2、1、0、1、2、... back on up、陰性がない場合、通常0〜5を表示するだけでなく、loc = 0を設定することができます私のKSテストのために。あるいは、

2)半分の生徒がPDFをどこに隠しているのか分かりませんか?

ありがとうございます!

編集:上記の#1に説明を与える

l = [-1.93067027 -1.00267766 -0.6349767 -0.82698775 -0.59277326 -0.67801007 -0.60888202 -0.27387228 -0.03645225 -0.02120668 0.02004329 0.40640109 0.661673 0.77414735 0.86466529 0.53162743 0.64943555 0.7827397 1.8450599 1.44000795] 

plt.hist(l)このリストを使用することが-2から2まで、 enter image description here

plt.hist(np.abs(l))ヒストグラムは私0からヒストグラムを示す私を示します〜2になります。 enter image description here

0から2になるヒストグラムが必要です。今度はx軸の範囲が2から2になるようにy軸上にミラーリング/フリップされます(これは0の中心にあるためです)。この対称でプロットされたヒストグラムです。

+0

これは、絶対値のヒストグラムと同じかどうかと思います。ヒストグラム(abs(x))。それとは別に、達成しようとしているもののサンプルコードを提供するのは本当に意味があります。 – ImportanceOfBeingErnest

+0

お薦めいただきありがとうございます、私は私の質問を更新しました。 – layces

+0

それは良いです。しかしヒストグラムを反転すると、間違った値が出ることはありませんか? y軸上の値は実際には妥当な数値には対応しません。 – ImportanceOfBeingErnest

答えて

0

numpyヒストグラムの結果の棒グラフをプロットすることができます。その後、配列を逆にして、それらのミラー化されたバージョンをプロットすることができます。

import matplotlib.pyplot as plt 
import numpy as np 

l = "-1.93067027 -1.00267766 -0.6349767 -0.82698775 -0.59277326 -0.67801007 -0.60888202 -0.27387228 -0.03645225 -0.02120668 0.02004329 0.40640109 0.661673 0.77414735 0.86466529 0.53162743 0.64943555 0.7827397 1.8450599 1.44000795" 
l = np.array(list(map(lambda x: float(x),l.split()))) 

step = 0.25 
bins = np.arange(0,2.01, step) 
hist, edges = np.histogram(np.abs(l),bins=bins) 

plt.bar(bins[:-1], hist, width=step, align="edge", ec="k") 

plt.bar(-bins[::-1][:-1], hist[::-1], width=step, align="edge", ec="k") 

plt.show() 

enter image description here

各値は、ミラーリングプロットに二回を占めているとして、これをやって、y軸は、その定量的な意味を失っていることに注意してください。

関連する問題