14

gnuplotの自動スケーリングを制限して、y-maxの例として、少なくとも特定の値になり、固定の「制限」まで自動スケールするようにするにはどうすればよいですか?

ドキュメントを見ると、軸の最小または最大を修正する方法しかわかりませんが、もう一方は自動的にスケーリングされています。

PDFページ93の自動スケーリングについて

4

4 に答える 4

20

バージョン4.6以降、gnuplotは、自動スケーリングの上限と下限を指定するための新しい構文を提供します。あなたの場合、あなたは使うことができます

set xrange [0:100 < * < 1000]

ドキュメントからの引用:

自動スケーリングが実行される範囲は、下限<lb>または上限、<ub>あるいはその両方によって制限される場合があります。構文は

{ <lb> < } * { < <ub> }

例えば

0 < * < 200

セット<lb> = 0<ub> = 200

この構文は、の最小値または最大値の両方に適用できますset *range

自動スケーリングするがxmin正の値を維持するには、

set xrange [0<*:]

自動スケーリングxしますが、最小範囲を10〜50に保ちます。

set xrange [*<10:50<*]

詳細については、に関するドキュメントを参照してset xrangeください。

于 2013-12-11T11:36:16.800 に答える
5

no-、min-、max-、または両方の軸で自動スケーリングを使用している場合、それは不可能だと思います。

set yrange [FIXED_MIN : FIXED_MAX]
set yrange [        * : FIXED_MAX]
set yrange [FIXED_MIN :         *]
set yrange [        * :          ]

それぞれ。

于 2012-06-29T23:27:42.243 に答える
4

この場合、データをフィルタリングして、gnuplotに通常の自動スケーリングを実行させることができます。

set yrange [*:*]
plot 'mydatafile' u 1:(($2 >= YMIN && $2 <= YMAX) ? $2 : 1/0)
于 2012-06-30T17:27:43.037 に答える
1

人々はこの質問に興味を持っているようですので、私がこれを解決した方法を答えとして追加します:

データの先頭に非表示のマーカーを挿入して、自動スケーリングを最小限に抑えました。そのため、プロットは、蜂が見えなくても、常に「表示」されます。

次に、gnuplotのデータを準備するために使用したパーサースクリプトで、gnuplotの外側で最大値を実装しました(おそらく、gnuplotの内側でも可能でした。mgilsonの回答を見てください)。

実際、スクリプトでは、すべての「切り取られた」値を取得し、それらをy = 0に追加して、赤にしました。そうすれば、値が大きすぎてグラフ化できないという「警告」が表示されます。(私のプログラムは2つのホスト間のpingを監視しており、5秒以上の遅延をグラフ化しようとしても意味がありません=>接続が切断されているとマークします)

于 2013-04-01T07:23:30.163 に答える