我想绘制一个线点图,其中我需要线不穿过点。当点是实心时,线是否穿过并不重要。但是当点型打开的时候,就不太好看了
我尝试过使用一个技巧来打开圆圈,它成功了。我正在分享下面的代码。
set style circle radius 0.007
plot 'data1.dat' u 1:(($3)**2) w l lw 4 lc "blue" notitle,\
'data1.dat' u 1:(($3)**2) with circle fillcolor "cyan" fs solid 0.2 border linecolor "blue" notitle
现在我尝试使用正方形、三角形和其他形状作为点类型,但我不确定要为这些提供什么命令。
对于正方形,我尝试使用命令:
set size square
plot 'data1.dat' u 1:2:(0.001):(0.014) with boxxy fillcolor "red" fs solid 1.0 border linecolor "red" notitle
但这里的问题是盒子的大小不是固定的,而是根据 x 和 y 轴的范围而变化。当轴设置为对数刻度时,情况甚至会变得更糟。
我将不胜感激任何好的解决方案。
您可能正在寻找
pointintervalbox
,请检查 help pointintervalbox
和 help pointinterval
。
脚本:
### linespoint without lines through points
reset session
set samples 11
set pointintervalbox 1.6
set key top left
plot '+' u 1:($1+16) w lp pt 4 ps 2 ti "square", \
'' u 1:($1+14) w lp pt 6 ps 2 ti "circle", \
'' u 1:($1+12) w lp pt 8 ps 2 ti "triangle", \
'' u 1:($1+ 6) w lp pt 4 ps 2 pi -1 ti "square", \
'' u 1:($1+ 4) w lp pt 6 ps 2 pi -1 ti "circle", \
'' u 1:($1+ 2) w lp pt 8 ps 2 pi -1 ti "triangle", \
### end of script
结果: