2

Gnuplot を使用してプロットを作成したい多数 (2000 以上) のデータ ファイルがあります。各ファイルには、同じプロット内にプロットされる複数のデータ セットが含まれています。Perl スクリプトを使用して、各ファイルを Gnuplot に取り込まれる形式に前処理し、Perl からのシステム コールによって実行されて出力プロット ファイルを生成する Gnuplot スクリプトを生成しています。各データ ファイルには、約 10 セットのデータが含まれる場合があり、各セットは別のパラメーターの異なる値を表します。各セットを実線で異なる色でプロットし、凡例/キーにこの他のパラメーターの値を表すラベルを付けたいと考えています。複数の線の色を取得するために、現在、各ファイルを再フォーマットして、セット 1 が最初 (2 列) に続き、2 つの空白行が続くようにしています。その後にセット 2 (2 列) が続き、その後に 2 つの空白行が続きます。各セットの最初の行には列ヘッダーがあります。2 番目の列ヘッダーは、そのセットのキーのテキストとなるように意図されています。Gnuplot スクリプトの先頭に、

set key autotitle columnheader

私は次のプロットを生成しています

plot for [i=0:9] "datafile" using 1:2:(column(-2))  with lines  lc variable

これは、すべてのキー ラベルが同じであり、最初のデータ セットのラベルであることを除いて、ほとんど機能します。

11 列 (1 X 列と 10 Y 列) のデータを使用するようにデータファイルを再フォーマットすると、

plot for [i=0:9] "datafile" using 1:(column(i+2)) title columnhead(i+2) with lines

必要なキー ラベルを取得できますが、各行を異なる色で取得できません。

これらが機能しない場合は、ファイルごとに異なる可能性があるキー ラベルを取得する別の方法です。

4

1 に答える 1

1

indexデータセットを選択するには明示的に使用する必要があり、キーは正しいです。データファイルを検討してください

"first set"
1 1
2 2


"second set"
3 3
4 4

これをプロットします

plot for [i=0:1] "datafile" using 1:2:(column(-2)) index i title columnhead(1) lc variable

したがって、データファイルの場合、プロット コマンドは次のようになります。

plot for [i=0:9] "datafile" using 1:2:(column(-2)) index i title columnhead(1) with lines lc variable

title columnhead(1)gnuplot バージョン 4.6 は、2 列のデータに対して 1 つの列の先頭で苦労するため、私が示した例ではの追加が必要です。現在の開発バージョンでは、これはもう必要ありません。

于 2013-07-30T07:20:58.903 に答える