2つのデータ配列から2次元ヒストグラムを作成しようとしています.1つはy値の範囲(rdata)を持つリストで、もう1つは外側のリストが強度を与える入れ子リストです特定の時間に強度を与え、内側のリストは高さ範囲の1つの特定の時間に強度を与える。リストのリストから2dヒストグラムを作成する
私はy軸上の範囲値とx軸上の強度値で2次元ヒストグラムを作成しようとしています。私はnumpy.histogram2dのドキュメントを見て、simmpler配列で作成したテンプレートファイルからこのヒストグラムを再構築しようとしました。
import numpy as np
import file_reader as fr
import matplotlib.pyplot as plt
time = []
rdata = []
intensity = []
fr.file_reader(time, rdata, intensity)
print('TIME DATA:', time)
print('RANGE DATA:', rdata)
print('INTENSITY DATA:', intensity)
range_bins = np.linspace(rdata[0],rdata[1],len(rdata))
intensity_bins = np.linspace(-70,30,len(intensity))
rdata = [rdata]
for i in range((len(time)-1)):
rdata.append(rdata)
print(rdata)
H, intensity_bins, rdata_bins = np.histogram2d(intensity,rdata,bins=(intensity_bins,range_bins))
X,Y = np.meshgrid(intensity_bins,range_bins)
plt.xlim(intensity_bins[-1])
plt.ylim(range_bins[-1])
plt.pcolormesh(X,Y,H, cmap='Reds')
plt.draw()
file_reader私は.TXTからとsimplicitiesのために、私は私がしようとしている配列を構築することから、データ出力を、含まれるデータを読み取るために作成されたファイルです:添付
コードですプロットに:それは同じ長さだったともリストの入れ子集合を考え含まれているので、私の範囲内(LEN(時間)-1)関数は、私はレンジデータリストをコピーするかどうかを確認するためにテストしていたザ・用TIME DATA: [16.23638916015625, 16.23916625976562, 16.24194526672363, 16.24472236633301, 16.24749946594238, 16.25027847290039, 16.25305557250977]
RANGE DATA: [155.89599609375, 187.0751953125, 218.25439453125, 249.43359375, 280.61279296875, 311.7919921875]
INTENSITY DATA: [[nan, nan, nan, nan, nan, nan], [nan, nan, -59.63091278076172, -49.99733352661133, nan, nan], [nan, 4.0, -3.2, -20.0, -20.0, -20.0], [1.1, nan, nan, nan, nan, nan], [nan, nan, -59.63091278076172, -49.99733352661133, nan, nan], [nan, 4.0, -3.2, -20.0, -20.0, -20.0], [5.32, -29.48, -50.0, -32.2, -1.111, -51.3]]
ヒストグラムにデータを入力するのに役立ちますが、コードを実行すると出力はありません。私はctrl + cを実行してコードを停止する必要があるので、それは立ち往生しているようです。ここ10分間の土曜日は、何も出力も仕上げもしませんでした。これは小さなデータ配列なので馬鹿げています。
ご協力いただければ幸いです。
:私は
intensity
1次元配列を作るためにravel
機能を使用してRDATA配列を作成するためにrepeat
を使用して、コードを変更しました.draw() 'を' plt.show() 'と一緒に使用しますか? – ImportanceOfBeingErnest