web-dev-qa-db-ja.com

点の周りに半径Rの円を描く

Gnuplotを使っていますが、与えられた点(x、y)の周りに半径Rの円を描くことができるのでしょうか?

11
shn

円をグラフ化したくない場合は、set object circleコマンドを使用できます。たとえば、次のように使用します。

set object X circle at axis 0,0 size scr 0.1 fc rgb "navy"

これにより、原点に画面(キャンバス)サイズの半径0.1の紺色の円が描画されます。円の位置/半径を指定するときは、使用している座標系を指定する必要があることに注意してください。firstは、最初のxy座標系scrscreen)は画面座標用です。円を描くためのドキュメントを見ると、詳細を学ぶことができます。

13
andyras

ここで、(各線がx yであるtxtファイルに)多くの点があり、各点に指定された半径が異なる円を描画したい場合。コマンド「setobjecti circle at Xi、Yi size first Ri fc rgb "navy"」を、各ポイントiに対して繰り返す必要がありますか?!

回答:いいえ!プロットwith circlesはgnuplotV4.4(2010)で利用可能でした。

"Circles.dat"

1 1 0.1
2 2 0.2
3 3 0.3
4 4 0.4
5 5 0.5
6 6 0.6

コード:

plot "Circles.dat" u 1:2:3:1 w circles lc var notitle

結果:(gnuplot 4.4で作成)

enter image description here

1
theozh

Gnuplotスクリプトの動作:

# tell gnuplot where we want to look at
set xrange [0:1]
set yrange [0:1]

# make a square plot
set size square

# create a black circle at center (0.5, 0.5) with radius 0.5
set object 1 circle front at 0.5,0.5 size 0.5 fillcolor rgb "black" lw 1

f(x) = x # we need to plot at lest one function
plot f(x) # show the stuff
0
daruma