2011-08-08 28 views
1

ベジェ曲線をプロットするためにデータファイルにxとyの値があります。各(x、y)対はベジェ曲線を示す。今度は、縦線を描画する線分を分割する必要があります(点線が望ましい)。セグメンテーションは、複数のベジェ曲線が分離され、分析できるように、それぞれ(x、y)にある必要があります。入力ファイルは以下の通りです:ベジェ曲線の間に垂直線を描く

0.07  0.543022222222 

0.06  0.694821399177 

0.08  0.734375 

0.12  0.743377777778 

0.11  0.795822222222 

0.09  0.772946197226 

0.14  0.798727048915 

0.05  0.6118208 

0.06  0.517422222222 

gnuplotのためのスクリプトは次のとおりです。

set term x11 persist 

set title "Animation curves" 

set xlabel "Time (secs.)" 

set ylabel "Parameter" 

plot "curve.dat" using 1:2 notitle smooth csplines 

どのように私はそれを達成することができますか?ありがとうございました。

答えて

2

これらの区切り線を描画するためにベクトルを使用できます。次のスクリプトは、ジョブを実行する必要があります。

set key off 
set style line 2 lt 0 lc 1 lw 2 
plot [0.04:0.15] "Data.csv" u 1:2 smooth csplines ls 1, "" u 1:($2-0.1):(0):(0.2) w vectors nohead ls 2 
  • set key off:すべてのプロット
  • set style line 2 lt 0 lc 1 lw 2ための冗長notitleキーワードを行います:分離線がどのように見えるべきかDiscribes。この場合:

    • lt 0:2
  • "" u 1:($2-0.1):(0):(0.2) w vectors nohead ls 2の赤

  • lw 2線幅:
  • lc 1破線

    • ""使用:実際に分離線をプロット元気よく使うデータファイル
    • u 1:($2-0.1):(0):(0.2):データファイルの位置(x, y - 0.2)(x, y + 0.2)の間のベクトルをプロットします。
    • w vectors nohead:ベクトルを使用して、頭を持たないようにします。
    • ls 2:あなたが持つかもしれない問題は、データファイルにgnuplotは、平均してみましょう定義された2つの値は、位置0.06であるということです。2.

以前に定義された線のスタイルを使用しますそれらの2つの値。あなたが以下のグラフで見ることができるように位置x=0.06の分離線は、もはや他の位置よりも理由です:

Result of the script above

+0

ありがとうございました。私は0.06に2つの値があることに気づいた。しかし、これらの値は、実行された数学的計算の出力ですので、私はそれについて私の家庭教師に確認し、尋ねなければなりません。境界線から線を上から下に描くことも可能ですか? – zingy

+0

また、各セグメントの先頭にラベルを付ける必要があります。ありがとうございました。 – zingy

+0

@cvani上から下へ移動するには、u 1:($ 2-0.1):(0):(0.2)w個のベクトルnohead ls 2''を順番に変更します。また 'set xrange'と' set yrange'はここで助けになるかもしれません。行にラベルを付けるには、[this](http://www.gnuplot.info/docs_4.2/gnuplot.html#x1-19500043.29)のマニュアルを参照してください。 – Woltan

関連する問題