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

Windows7环境下无需awk实现gnuplot按第三列范围筛选散点图

在Windows 7下无需awk用gnuplot按第三列筛选数据绘图

不需要依赖外部工具(比如awk),gnuplot自身就支持直接在绘图命令里基于列数据进行筛选,核心思路是用三元表达式结合NaN来过滤不符合条件的点——gnuplot会自动忽略包含NaN的无效数据点。

基础筛选命令

假设你的数据文件是plot.dat,要筛选第三列数值在11~19之间的点,仅用前两列绘制散点图,执行以下命令即可:

plot "plot.dat" using 1:($3>=11 && $3<=19 ? $2 : NaN) with points

命令解释

  • using 1:...:指定第一列作为x轴数据
  • ($3>=11 && $3<=19 ? $2 : NaN):这是gnuplot支持的三元条件表达式:
    • 当第三列($3)满足11<=数值<=19时,取第二列($2)作为y轴数据
    • 不满足条件时返回NaN,gnuplot会自动跳过这些点

扩展:多范围筛选

如果需要同时筛选多个数值范围,比如第三列在11~19或25~30之间,可嵌套三元表达式:

plot "plot.dat" using 1:($3>=11 && $3<=19 ? $2 : ($3>=25 && $3<=30 ? $2 : NaN)) with points

注意事项

  • 确保你的数据文件列之间用空格或制表符分隔,gnuplot能正确识别每一列数据
  • 如果需要自定义点样式,可在with points后添加参数,比如with points pt 7 ps 1.5(指定点类型为实心圆,大小1.5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 11:35:13