私は10個の対応する入力ファイルのリストを持っています。タブで区切られたデータの列はそれぞれ約300行/データポイントです。Python - 複数のファイルの内容をグラフで表示
各データセットの内容をプロットして、各データセットの2つのプロットが1つのx vs(y1、y2、y3、...)であり、例えば関数によって変換されるx vs(f(y1)、f(y2)、f(y3)、...)。
私はそれを達成するための最良の方法のわからない、私はその後、データを上書きすることなく、それらすべてを格納する方法を考え出すことができなかったファイル名の単純な配列を使用して考えた - このような何か:
import numpy as np
import matplotlib.pyplot as plt
def ReadDataFile(file):
print (file)
x,y = np.loadtxt(file, unpack=True, usecols=(8,9))
return x, y
inputFiles = ['data1.txt','data2.txt','data2.txt',...]
for file in inputFiles:
x1,y1 = ReadDataFile(file) ## ? ##
p1,q1 = function(x1,y1) ## ? ##
plt.figure(1)
plt.plot(x1,y1)
plt.plot(x2,y2)
...
# plt.savefig(...)
plt.figure(2)
plt.plot(p1,q1)
plt.plot(p2,q2)
...
# plt.savefig(...)
plt.show()
私の質問は、すべてのデータを最善に読み込んで保存し、すべてのコードをreadloopに入れることなくアクセスできることです。 2つのデータセットをペアのリストに読み込むことはできますか?それはPythonのものですか?もしそうなら、どうすればそれらにアクセスできますか?
ありがとうございました! よろしくお願いいたします。
各データファイルを読み込んで辞書に入れるのはどうですか?それはあなたのために働くだろうか? – gabra
データを配列に保持し、 'np.hstack()'を使ってデータを結合することができます(xは1つ、yはそれぞれ1つ)。結合された配列を1つのプロットオブジェクト内のサブプロットとしてプロットします。私は 'GridSpec'がかなり良いと思っています。 – Andrew
@gabra 私は辞書に誇りを持っているとは言いがたいですが、私の理解ではキーと値のペアを格納しているので、C++マップのようなものを考えていますか?マップへの '値'エントリをリストにすることはできますか? ie:key1 = 'x1'、value1 = [... x1値リスト...] とkey2 = 'y2'とvalue2 '= [... y1値リスト...] これはちょっとしたようです私に!もっと洗練されたソリューションが必要だと思いましたか? – Pete