with open('wave0.txt') as f: lines = f.readlines() #必要なモジュールをインポートする import matplotlib.pyplot as plt import numpy as np #色の指定 c1,c2 ='blue','green' #グラフを表示する領域をfigオブジェクトとして作成 fig = plt.figure(figsize =(10,10), facecolor='lightblue') #グラフを描画するsubplot領域を作成-> 引数は行、列、場所-> この場合、2*1に分割して何番目か ax1 = fig.add_subplot(2,1,1) ax2 = fig.add_subplot(2,1,2) #グラフをプロットする ax1.plot([int (line) for line in lines[:1023]],color=c1,label="wave") ax1.set_xlim([500,530]) #プロットを500から530の範囲でする N_POINTS = 1023 # sample数 data = np.array([int (line) for line in lines]) #テキストデータを整数にする-> arrayに詰め込む length = len(data)//N_POINTS #lengthで全イベント数を出す-> 割り算 //で商のみを出す  data_res =data [:length*N_POINTS].reshape(-1,N_POINTS) #reshapeで配列に詰める #ヒストグラムを書く def intg(d): return (d[510:530] -d[:500].mean()).sum() #510~530で積分する ax2.hist([-intg(d) for d in data_res],bins=128,color=c2,label="hist") #ビン数=128 #タイトル ax1.set_title('wave') ax2.set_title('hist') #軸ラベルの指定 ax1.set_xlabel("Nsample") ax1.set_ylabel("value") ax2.set_xlabel("ADC_value") ax2.set_ylabel("event_number") #凡例表示 ax1.legend(loc ='upper right') ax2.legend(loc ='upper right') plt.show()