在一个点周围画一个半径为R的圆。

15

我正在使用gnuplot,想知道是否可以在给定点(x,y)周围画一个半径为R的圆?

3个回答

14

如果您不想绘制圆形图,可以使用set object circle命令。例如,您可以像这样使用它:

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

这将在原点处绘制一个半径为屏幕(画布)大小的0.1的深蓝色圆。请注意,当您指定圆的位置/半径时,必须指定使用的坐标系:first对应于第一个x-y坐标系统,scr(缩写为screen)是用于屏幕坐标。您可以通过查看绘制圆的文档了解更多内容。


1
在这种情况下,您可能还需要使用 set size ratio -1,因为 gnuplot 会绘制一个圆,而不管图的纵横比如何。 - mgilson
1
andyras @mgilson 无法指定一个特定半径(例如2.74)的“空”圆形吗? - shn
2
啊,它可以使用“set object 1 circle at 6,6 size first 2.73 fc rgb“navy””命令。现在,如果我有许多点(在一个txt文件中,每行是x y),并且我想为每个点绘制不同半径的圆。我应该为每个点i重复执行“set object i circle at Xi,Yi size first Ri fc rgb“navy””命令吗? - shn
@user995434 -- 你应该将其发布为一个新问题。 - mgilson
1
未定义的变量:X;然后未定义的变量:axis。 - daruma

5
现在,如果我有许多点(在一个文本文件中,每行是x y),并且我想为每个点绘制不同半径的圆。我是否应该为每个点i重复命令“set object i circle at Xi,Yi size first Ri fc rgb "navy""?
答案:不需要! 在gnuplot V4.4(2010)中提供了使用with circles绘图的功能。 "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创建)

在此输入图片描述


不错,但原问题是关于一个单独的圆形。 - daruma
好的,在评论中,原帖作者要求在数据文件中提供许多点。请参见引文。 - theozh

1

工作中的 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接