2

膨大な数のリストをグラフ化するプログラムがありますが、最もpythonicではないかもしれませんが、機能します。X、Y、および Y エラーの 3 つの主要な配列があります。ただし、これらの各配列にはサブ配列があります。

xAxis = [[x1],[x2],[x3],[...]
yAxis = [[y1],[y2],[y3],[...]]
yError = [[err1],[err2],[err3],[...]]

この例では、1 から 6 までの y 値をグラフ化しxAxis[0]、同じ数の y 値を持ちます。yErrors

次に、matrix2latexパッケージを使用します。matrix2latexテーブルに入る各配列を圧縮する必要があるため、これは難しい部分です。

私は避けたい:

if howManyY == 1:
        zip(xAxis[0],yAxis[0],yError[0])
if howManyY == 2:
        zip(xAxis[0],yAxis[0],yAxis[1],yError[0],yError[1])

など。

4

2 に答える 2

2

これでうまくいくはずです。

zipArgs = [ xAxis[0] ]
zipArgs.extend([ yAxis[i] for i in xrange(howManyY) ])
zipArgs.extend([ yError[i] for i in xrange(howManyY) ])
zip(*zipArgs)

アスタリスク演算子は、リストまたはタプルを関数への位置引数に変換します。

于 2013-10-31T15:13:22.680 に答える
2

これはあなたが必要とすることをしますか?

zip(*([xAxis[0]] + yAxis[:howManyY] + yError[:howManyY]))
于 2013-10-31T15:18:17.520 に答える