0

次のテンプレートを使用して自動的にプロットされるファイルを生成する bash スクリプトを作成しました (最小限の作業例)。

 set terminal epslatex color size 3,1.2
 set output "fig.tex"

 set ylabel '$\lambda_i$' offset +1.5,0
 set xlabel '$i$' offset 0,+0.5
 set logscale x
 set mxtics 5
 set mytics 5
 plot "file.dat"  w p pt 7 ps 0.7 lc rgb "#033775"

すべてが正常に機能しますが、入力データがかなりの範囲の値にまたがる場合、ytics が多すぎる傾向があります。

[十分な担当者がいないため、ここに例を示します: http://i.stack.imgur.com/zd7XK.png]

epslatex 端末が問題を引き起こしていると思われます (つまり、gnuplot は実際のフォントの高さを認識せず、利用可能なスペースにあまりにも多くの目盛をスクラムします)。私の回避策は、自動 ytics 配置を許可しながら目盛りの数を制限することですが、件名について何も見つかりません。

4

1 に答える 1

2

一般に、y 軸の目盛りの頻度を減らすことができます。

set ytics VALUE

例は次のとおりです。

plot sin(x)

これを自動目盛りで生成します (修正: 画像リンクが削除されました)。

set ytics 0.5
plot sin(x)

これを生成します。

VALUE にどの値を指定すればよいかわからない場合は、gnuplot4.6 では STATS_min_x と STATS_max_x、以前のバージョンでは GPVAL_DATA_X_MIN を使用してこれを計算できます。それらの使用法については、andyras からの回答を参照してください。

あるいは (同様の使用法で) GPVAL_Y_MIN と GPVAL_Y_MAX を代わりに使用する方が便利かもしれません。それらは既に丸められているからです。

次に、たとえば次のように使用できます。

set terminal unknown
plot(x)
ntics = 4.
dy = floor((GPVAL_Y_MAX-GPVAL_Y_MIN+0.5)/ntics*10.)/10.
set ytics dy
set terminal ...
replot

上記の例では、指定された 4 つの目盛りが生成されます (修正: 画像へのリンクが削除されました)。

于 2013-03-28T00:24:05.597 に答える