1

stackoverflow の入力に基づいて、最初のグラフを作成しました。だから私のコードは、

set title "Approximation Graph"
set term png
set output 'plot.png'
f0_h(x) = a0_h * x**2 + b0_h * x + c0_h
fit f0_h(x) 'clk0_h' via 'clk0_h_c'
f1_h(x) = a1_h * x**2 + b1_h * x + c1_h
fit f1_h(x) 'clk1_h' via 'clk1_h_c'
f0_s(x) = a0_s * x**2 + b0_s * x + c0_s
fit f0_s(x) 'clk0_s' via 'clk0_s_c'
f1_s(x) = a1_s * x**2 + b1_s * x + c1_s
fit f1_s(x) 'clk1_s' via 'clk1_s_c'

set style data lines
plot "clk0_h" using 1:2, f0_h(x), "clk1_h" using 1:2, f1_h(x), "clk0_s" using 1:2, f0_s(x), "clk1_s" using 1:2, f1_s(x)

グラフは次のとおりです。

ここに画像の説明を入力

だから私は大小の質問があります。

メジャー: gnuplot を使用して係数を決定することは可能ですか。今のところ、私は手動で決定します。(何らかの理由で、係数を決定するためにpythonでnumpyを使用できません)

マイナー : 誰でも私に行のプロパティを参照できますか. 1) 線幅を広げます 2) 色を変更します 3) 各行にタイトルを追加します (同じ色かどうかを区別するため) 4) 8 行が必要ですが、一部は上書きされます

4

1 に答える 1

1

あなたの最初の質問に関して:これはfit実際に行うことです。スクリプトでは、 を使用しvia 'file.par'て、開始値のみを設定し、フィッティングに使用する変数を指定します。

次のことを試してください。

f0_h(x) = a0_h * x**2 + b0_h * x + c0_h
fit f0_h(x) 'clk0_h' via a0_h, b0_h, c0_h

そして、係数がうまく出てくるかどうかを見てください。デフォルトでは、開始値は であると想定されます1。うまくいかない場合は、正しい大きさの順序を設定する必要があるかもしれません (たとえばa0_h = 10、フィッティングの前に設定します)。

マイナーなものについては、ライン プロパティlinewidthになどを使用します。linecolorタイトルを指定するには、 を使用しますtitle :)

linestyle関数/データの組み合わせごとにを定義し、近似には線を使用し、データには点を使用できます。

set style line 1 linecolor rgb 'red' linewidth 2 pointtype 4 linetype -1
set style line 2 linecolor rgb '#ff7700' pointtype 7 linetype 2
...

この場合、 と を指定するlinecolorlinetype、1 つ目は色を決定し、2 つ目は破線のパターンを決定します (端末がサポートしている場合は、Gnuplot の線種を参照してください)。

プロットには、上記の種類のライン スタイル定義を使用して、たとえば次のように使用します。

set style data points
set style func lines # these two settings are default

plot "clk0_h" using 1:2 linestyle 1 title 'clk0_h, data', \
     f0_h(x) linestyle 1 title 'clk0_h, fit'
...

また、ターミナルの使用を検討する必要がpngcairoあります。これにより、より優れたグラフィックが作成されます。または、できれば、 のようなベクターベースのターミナルを使用してpdfcairoください。

于 2013-10-17T19:27:25.443 に答える