Gnuplot技巧:如何为每组数据点设置不同符号并添加图例
Gnuplot实现不同数据点符号及图例设置
核心实现思路
通过Gnuplot的行筛选功能和多曲线叠加绘图来满足需求:用every指令精准定位每个数据块的指定行,分别设置点符号和图例名称,再按需补充原线条。
假设数据文件结构(以常见块分隔格式为例)
假设aaa.txt以空行分隔数据块,每个块包含2行数据,示例如下:
1 10 2 20 3 15 4 25 5 12 6 22
完整绘图命令
# 设置图例显示在右上角 set key top right # 绘制每个数据块的第一行:用pt 7(实心圆),图例命名为"第一行数据点" plot "aaa.txt" every ::0::0 title "第一行数据点" with points pt 7 ps 2, \ # 绘制每个数据块的第二行:用pt 6(实心方),图例命名为"第二行数据点" "aaa.txt" every ::1::1 title "第二行数据点" with points pt 6 ps 2, \ # 补充绘制原数据连线(若需要保留线条),隐藏该曲线的图例 "aaa.txt" with lines notitle lc rgb "black" lw 1
关键参数说明
every ::m::n:筛选数据行,::0::0对应每个数据块的第1行(行号从0开始计数),::1::1对应每个数据块的第2行,若需调整目标行,修改数字即可pt <编号>:指定点的符号样式,输入test命令可预览所有可用符号title:为对应曲线定义图例名称,notitle用于隐藏不需要显示的曲线图例ps 2:设置点的大小,lw 1设置线条宽度
内容的提问来源于stack exchange,提问作者user20911840
相关产品推荐
相关产品推荐

