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

gnuplot绘制指定区域等高线未抵达边界的问题求助

解决gnuplot等高线在y=0轴处的间隙问题

问题核心原因:当你直接在splot中限定y范围为[0:3]时,gnuplot仅使用该范围内的数据点计算等高线。而vr-cs=0的等高线实际交点可能落在y<0的区域,导致0:3范围内无法生成连接到y=0轴的完整线段,从而出现间隙。

以下是两种可行的解决方法:

方法1:全局计算等高线(简洁方案)

通过set contour all让gnuplot基于全部数据点计算等高线,再单独限定显示的坐标轴范围:

set view map
set contour all  # 关键:基于完整数据集计算等高线,不受显示范围限制
set cntrparam levels discrete 0
set xrange [0:8]
set yrange [0:3]  # 仅限定最终显示的y范围
splot "vr-cs101.gnu" w l nosurface notitle

方法2:预计算等高线到临时文件

先在包含y负半轴的范围内计算完整等高线,导出到临时文件后,再绘制并限定显示范围:

set view map
set contour
set cntrparam levels discrete 0

# 第一步:计算完整等高线并导出到临时文件
set yrange [-3:3]
splot [0:8] "vr-cs101.gnu" w l nosurface notitle, "" with table "contour_temp.dat"

# 第二步:绘制临时文件,限定显示y范围为0-3
set yrange [0:3]
plot "contour_temp.dat" w l notitle

两种方法都能在仅显示[0:8][0:3]区域的前提下,让等高线完整延伸至y=0轴。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:19:58