そこで、最近、この質問に対する解決策を見つけました。 データファイルの2つの列を取得し、それらを2つの配列に配置したいと考えていました。これで、このコードがうまく機能します。
Xvals=[]; Yvals=[]
i = open('BGBiasRE_IM3_wCSrescaled.txt','r')
lines = [line.split() for line in i if line[:4] not in ('time', 'Step')]
Xvals, Yvals = zip(*lines)
V = [0, 0.004, 0, 0.0004]
pylab.plot(Xvals, Yvals, marker='o')
pylab.axis(V)
pylab.xlabel('Time (ms)')
pylab.ylabel('Current (A)')
pylab.title('Title')
pylab.show()
しかし、私は今、私が質問を台無しにしたことに気づきました。以下のようにデータファイルをレイアウトしました。
time I(R_stkb)
Step Information: Temp=0 (Run: 1/11)
0.000000000000000e+000 0.000000e+000
9.999999960041972e-012 8.924141e-012
1.999999992008394e-011 9.623148e-012
Step Information: Temp=10 (Run: 2/11)
0.000000000000000e+000 0.000000e+000
9.999999960041972e-012 4.924141e-012
1.999999992008394e-011 8.623148e-012
(注:各データ行の間に空の行はなく、2つのデータ値の間にタブがあります)
上記のコードはすべてのステップ情報を1つの配列に追加するため、異なるステップに2つの異なる配列が必要な場合は、2つの大きな長い配列を取得して、後でそれぞれの配列を個別にプロットできるようにします。また、ステップ名(この場合はTemp = 10)を取得し、ステップ情報の各チャンクを反映するように配列にアタッチ/名前を付ける必要があります。例えば。こういう配列になってしまいたいです
Temp0_Xvals = [ 0.000000000000000e+000, 9.999999960041972e-012, 1.999999992008394e-011]
Temp0_Yvals = [ 0.000000e+000, 8.924141e-012, 9.623148e-012]
Temp10_Xvals = [...]
Temp10_Yvals = [...] etc etc
明らかに、これは問題をはるかに複雑にし、どこから始めればよいのかわかりません。