11

私は gnuplot でガウス曲線を描いており、x 軸から上昇し、曲線に当たるところで停止し、左に垂直に y 軸に当たる線を描きたいと考えています。両方の軸を表示し、x 軸と交差する場所にシンボルを表示します。

これをgnuplotに追加する正しい方法は何ですか? nohead を使用して矢印をいじってみましたが、gnuplot の初心者であり、必要なものを達成する方法が見つからないようです。

4

2 に答える 2

18

私は自分のニーズに対する簡単な解決策を見つけることができました。の座標をプロット自体の関数に指定することで、arrowを実際に使用することができます。noheadyto

関数 f(x) があり、x=3 から f(3) までの線と対応する水平線 y= f(3) を描画したいとします。必要なのは 2 つの矢印を追加することだけです。

set arrow from 3,0 to 3,f(3) nohead
set arrow from 0,f(3) to 3,f(3) nohead

また、線が軸と交差する場所に目盛りを追加したかったので、それらがない場合は、次のようにすることができます。

set xtics add (3 3)
set ytics (f(3) f(3))

軸には小数点以下の桁数が含まれる可能性があるため、次のyようなことも必要になる場合があります (この場合は小数点以下 3 桁です)。

set format y "%1.3f"

x軸の目盛りの下にラベルを付ける方法を見つけることができませんでしたが、上記で十分でした。同じ解決策を探している他の誰かに役立つことを願っています。

于 2013-05-26T00:45:08.340 に答える
1

過去にこの問題を次の方法で解決しました。

曲線上のポイントのペア (x,y) を知っていれば、次のことを行います。 - 一連の値 (x,{0..y}) を計算し、プロットします。これは垂直線になります - - 一連の値 ({0..x},y) を計算し、プロットします。これが水平線になります

または、ダミー配列 a (x,{whole y range}) および ({whole x range},y) を作成し、(x,y) を指定して原点から点 (x,y) までこれらをプロットすることもできます。範囲設定のポイント。

これらは最も効率的な方法ではないかもしれませんが、両方ともうまくいきました。これらの操作は Perl スクリプトを使用して Perl Data Language (PDL) で行い、そこから gnuplot 構成ファイルを作成し、「system」を使用して gnuplot を呼び出しました。

お役に立てれば!

于 2013-05-25T09:27:10.850 に答える