如何在GNUPlot中绘制简单线段?
问题原因
你当前写法不生效的核心原因是连续执行两次plot命令时,第二次调用会清空画布覆盖第一次的绘图结果,你定义线段数据块的语法本身没有错误。
正确实现方式
方法1:保留你原有内联数据块的写法
仅需要将两个绘图逻辑合并到同一句plot命令中,用逗号分隔不同绘图项即可:
$DATA << EOD # 你原来的其他数据内容 .... other data EOD $LS << EOL 0 0 0 1 EOL # 合并绘图命令,\ 用于换行提高可读性 plot $DATA using 1:2:3 with points, \ $LS using 1:2 with lines
你还可以按需给线段设置样式,比如加linewidth 2 linecolor "blue"调整线宽和颜色。
方法2:更简洁的直接内嵌线段写法
如果不想额外定义$LS数据块,也可以直接在plot语句中使用特殊文件名'-'录入线段数据:
plot $DATA using 1:2:3 with points, \ '-' using 1:2 with lines # 下面直接放线段的坐标点 0 0 0 1 # 输入完用e结束当前数据段 e
注意事项
如果修改后线段还是没显示,检查你当前脚本的坐标轴范围是否覆盖了线段的坐标:如果原有$DATA的x值都远大于0,gnuplot会自动把x轴范围设置为匹配原有数据,会把x=0的部分裁掉,此时手动设置x轴范围即可:
# 范围根据你实际数据调整,确保包含0 set xrange [-0.1: 你的原有数据最大x值]
内容的提问来源于stack exchange,提问作者con
相关产品推荐
相关产品推荐

