matplotlibのpyplotモジュールを使ってヒストグラムを作ったのですが
それぞれのbinの中央値はいくつか、中に何個のデータが入っているか、などをグラフではなく正確な値として知りたいのですが何かいい方法はありますか?
例えば以下のコードは0から500の範囲にある値を300に分割して頻度をカウントしてヒストグラムを描画するコードですが、150番目のbin(階級)の中央値はいくつか、中に何個データが入っているかなどをタプル形式のようなもので受け取る方法を探しています。
python
1import matplotlib.pyplot as plt 2import pandas as pd 3 4# 取ったデータをそれぞれのmppcが対応する配列に入れるコード 5list = [line.rstrip() for line in open('1_14_1.txt')] 6x1_y4=[] 7x2_y4=[] 8x3_y4=[] 9x4_y4=[] 10ped=[] 11for i in range(len(list)): 12 if i % 5 == 3: 13 x1_y4.append(list[i]) 14 if i % 5 == 2: 15 x2_y4.append(list[i]) 16 if i % 5 == 1: 17 x3_y4.append(list[i]) 18 if i % 5 == 0: 19 x4_y4.append(list[i]) 20 if i % 5 == 4: 21 ped.append(list[i]) 22 23 24# 以下matplotlibを利用したヒストグラム描画 25# 配列に入った文字列型の16進数表記を10進数に直した上で数値型に変換 26for i in range(len(x1_y4)): 27 x1_y4[i] = int(x1_y4[i], 16) 28# pandasを利用してSeriesに配列を入れる 29data_x1_y4=pd.Series(x1_y4) 30print(data_x1_y4.describe()) 31# artistオブジェクトの設定 32fig = plt.figure() 33ax = fig.add_subplot(1,1,1) 34# 名前、x軸y軸の範囲の設定 35ax.set_xlabel("Ch(10base)") 36ax.set_ylabel("Events") 37ax.set_title('EventCountOfx1_y4') 38plt.xlim(290, 510) 39# bins数,幅を決めて実際に描画 40ax.hist(data_x1_y4, bins=300,rwidth=1, range=(0, 500)) 41plt.show()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。