2

次のような gnuplot でプロットしたいデータがあります。

1.08 1 4.8
1.53 2 5.9
2.11 3 5.1
2.60 4 6.0

それほど重要ではありませんが、最初の列は遺伝的アルゴリズムの実行時間、2 番目の列は世代番号、3 番目の列は平均適応度です。

を使用してプロットするplot datafile.dat using 1:3 with linesと、目盛りが適切に配置されていて、見栄えがします。ただし、x-tics には時間のラベルを付けたいのですが、x2-tics には世代番号のラベルを付けたいと思います。これは で簡単に実行できますがplot datafile.dat using 1:3:x2ticlabels(2) with lines、x2 軸の場合、適切な数の目盛りを自動的に選択する代わりに、データ ファイルのすべての行に目盛りを追加します。

私の完全なデータ ファイルには何千ものエントリがあり、その結果、目盛りが配置されるグラフの上部に黒い実線が表示され、ラベルが配置される場所の上に大きな黒い実線が表示されます。gnuplot を使用してグラフに目盛りを配置する頻度を手動で伝えようとしても、set x2tics 100エントリごとに目盛りが表示されます。これを修正する方法はありますか?明らかに、どの目盛りが自動的に選択されるように表示されることを望んでいますが、手動で行う必要がある場合は問題ありません。完全な gnuplot 構成ファイルは非常に基本的なもので、次のとおりです。

set logscale y 10
set x2tics
plot datafile.dat using 1:3:x2ticlabels(2) with lines
4

1 に答える 1

1

これは、データファイル内の1行おきにのみラベルを付けるソリューションです。

plot 'test.dat' u 1:3:x2ticlabels(int($0)%2==0?stringcolumn(2):'')

少し興味深いのは、チックがポイントと完全に一致していないことです。理由はまだわかりません。数千ポイントの場合、おそらく気付かないでしょうが、4ポイントのサンプルデータファイルでは、目立ちます。

残念ながら、それでもデータファイルのすべての行の軸に目盛りが描画されます。 set x2tics scale 0それらのチックを完全になくします。

于 2012-07-19T10:42:43.753 に答える