2017-03-22 2 views
0

フローを使用して、最初に 'スクラッチ'プロットを行い、次にプロットをフレームするための 'GPVAL_DATA_Y_MIN/MAX'サイズ。私は実際のプロットをPNGファイルに送ります。それでも私が避けたいスクリーン上で 'scratch'プロットコマンドが点滅します。私はgnuplotセッションで利用可能な端末を見るために 'help set terminal'をやっていて、 'blind'や 'null'のようなものを探していましたが、そのようなものは見つかりませんでした。そのような端末はありますか?それは何の名前ですか? Linuxではgnuplotにブラインドターミナルがあり、スクリーンプロットなしでx/y min/maxを収集するのに使用できます

:(gnuplotの4.6パッチレベル7を使用して)

おかげで、 ゲルト

+1

'set terminal unknown'。そして、なぜあなたはその価値を必要としますか?また、 'stats'コマンドや' set autoscale yfix'を使うこともできます... – Christoph

+0

答えとして送られたなら、私はChristophの考え方に受け入れられた答えのタグを与えました。未知に設定することは、マジの答えでまだ起こっているレンダリングを排除するので、最良の解決策です。したがって、実行時の効率が向上します。 –

答えて

1

私は正確に知っていないので、あなたが実際にそれらの値をどのように使用するか、ここでいくつかの異なる可能性あり:

  1. gnuplotと「ブラインド」の端末が呼び出されunknown:の

    set terminal unknown 
    plot "data.dat" 
    
    set terminal pngcairo 
    set output "output.png" 
    set yrange[GPVAL_DATA_Y_MIN:GPVAL_DATA_Y_MAX] 
    replot 
    

    バリアントこれはset terminal unknownコールをset terminal pushset terminal popにラップして、前の端末に戻ることです。あなたは

    set autoscale yfix 
    

    を使用し、その後、計算のための値を必要としませんが、唯一の実際のデータ範囲にyrangeのにフィットするようにした場合

    f = "data.dat" 
    stats f using 2 nooutput 
    
    set yrange [STATS_min:STATS_max] 
    plot f 
    
  2. statsコマンドを使用しますまたは

    set autoscale yfixmax 
    

    おそらくset offsets

+0

はい、#1が私の仕事です。軸の倍率は20%ですので、カーブの上端がフレームの上端にぶつからないようにします。 #2は 'stats'も同じことをするでしょう。 'stats'は新しい構造ですか?私はそれが古いバージョンを覚えていない。 –

0

はNULLデバイスに出力を送信するようにしてください。Windowsの

set terminal png 
set output "/dev/null" 
plot sin(x) 
set output "real_output.png" 
... 

terminal png 
set output "nul" 
plot sin(x) 
set output "real_output.png" 
... 

this SO questionまたはthis Wikipedia entryを読み、特にWindowsの詳細については、

関連する問題