如何在Gnuplot中绘制带透明pointintervalbox的多条曲线
在Gnuplot中让pointintervalbox透明以显示下方曲线
要解决pointintervalbox遮挡下方曲线的问题,核心是给点的背景框设置透明度,Gnuplot 5.0及以上版本支持boxalpha参数实现这一点,直接看实操方案:
方法一:预设曲线样式
先定义好带透明背景框的曲线样式,后续绘制时直接调用:
# 定义样式1:蓝色曲线+空心方形标记+完全透明的pointintervalbox set style line 1 lc rgb '#2c7fb8' lw 2 pt 6 ps 1.5 pi 3 boxalpha 0.0 # 定义样式2:橙色对比曲线 set style line 2 lc rgb '#d95f02' lw 2 # 绘制两条曲线 plot 'data1.dat' with linespoints linestyle 1 title '带标记曲线', \ 'data2.dat' with lines linestyle 2 title '下方曲线'
方法二:直接在plot命令中设置
如果不想预设样式,也可以直接在绘制语句里指定参数:
plot 'data1.dat' w lp pt 6 ps 1.5 pi 3 boxalpha 0.0 lc rgb '#2c7fb8' lw 2 title '带标记曲线', \ 'data2.dat' w l lc rgb '#d95f02' lw 2 title '下方曲线'
参数说明
pt 6:指定空心方形作为点标记(可按需替换为其他标记类型)pi 3:设置每隔3个数据点显示一个标记,以此控制点和线的间隙boxalpha 0.0:将pointintervalbox的背景设为完全透明,值范围0(全透)到1(不透明),可根据需求调整透明度lw:设置线宽,ps:设置点的大小
这样设置后,即使下方曲线穿过空心方形标记,也能清晰显示,同时保留点与线之间的间隙效果。
内容的提问来源于stack exchange,提问作者coder
相关产品推荐
相关产品推荐

