You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求教:如何用gnuplot代码绘制指定圆心与半径的圆形?

在gnuplot中绘制指定圆心和半径的填充圆

针对你的需求,这里提供两种简单的实现方法,新手优先推荐第一种:

方法1:使用set object circle(最直观)

这种方式直接创建圆形对象,适合绘制单个或少量圆形,代码如下:

# 设置输出终端:PNG格式,600x600画布,白色背景
set terminal png size 600,600 background rgb "white"
# 指定输出图片文件名
set output "filled_circle.png"

# 关闭坐标轴和边框(如果不需要显示,可根据需求删除)
unset xtics
unset ytics
unset border

# 设置坐标轴范围匹配画布像素(0-600对应画布的横向/纵向像素)
set xrange [0:600]
set yrange [0:600]

# 创建填充圆对象
# 参数说明:at 指定圆心坐标,size 是半径(单位为像素,匹配画布尺寸)
# fill solid 1.0 设置完全填充,rgb "black" 指定填充色,no border 去掉圆的边框
set object 1 circle at 300,400 size 3 \
    fill solid 1.0 rgb "black" \
    no border

# 触发绘图(无数据时用NaN占位)
plot NaN notitle

方法2:使用参数方程绘制

如果你需要通过数据生成圆形(比如批量绘制),可以用参数方程的方式:

set terminal png size 600,600 background rgb "white"
set output "filled_circle_param.png"

unset xtics
unset ytics
unset border
set xrange [0:600]
set yrange [0:600]

# 开启参数模式,设置参数t的范围为0到2π(完整圆周)
set parametric
set trange [0:2*pi]
# 设置填充样式
set style fill solid 1.0 rgb "black"

# 通过参数方程生成圆的坐标,并用filledcurves closed填充闭合曲线
plot 300 + 3*cos(t), 400 + 3*sin(t) with filledcurves closed notitle

关键说明

  • 画布尺寸和坐标对应:设置xrange [0:600]和yrange [0:600]后,gnuplot的坐标直接对应画布的像素位置,所以圆心(300,400)就是画布横向中间、纵向400像素的位置,半径3就是3像素。
  • 如果需要保留坐标轴,删除unset xtics、unset ytics、unset border这三行即可。

内容的提问来源于stack exchange,提问作者Franz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:05:08