我正在使用gnuplot绘制一个箭头,该箭头指向锥形的对称轴向上。唯一的问题是我无法弄清楚如何正确地将箭头放入图片的3D透视图中。默认情况下,箭头显示在整个锥体后面。如果我将“前”选项添加到箭头,它会显示在整个锥体的前面。但是,从视角来看,箭头应位于锥体后半部分的前方,并位于锥体前半部分的后方。在gnuplot的一条曲线前面和另一条曲线的前面绘制一个箭头
显而易见的解决方案是将绘制锥体的功能分成两部分,并使箭头位于一条曲线的前面并在另一条曲线的后面。有没有办法做到这一点(即,手动设置绘制曲线和其他对象的顺序)?如果没有,有没有人有一个很好的解决方法? (我唯一能想到的就是用线条手动绘制箭头,但如果可能的话,我想避免这样做。)
这是一个最小的工作示例。我正在使用细网格,以便可以清楚地看到效果。
set arrow 1 from 0,0,0 to 0,0,1 lw 2
set isosamples 100
set xrange [-1:1]
set yrange [-1:1]
set zrange [-1:1]
set zrange [0:1]
splot sqrt(x**2+y**2)
,看看有什么不妥仅仅使用了“前”选项,修复,替换为第一行:
set arrow 1 from 0,0,0 to 0,0,1 lw 2 front
在此先感谢您的帮助!
编辑:我发现后发布,这可以用多槽完成。但似乎应该有一个更好的解决方案,所以请让我知道,如果你想到一个。
感谢您的帮助! – sasquires
你能解释一下“回声部分”吗? – LCsa
@LCsa这是一种在5.0之前的gnuplot版本中使用某种内嵌数据的方式,''调用shell,在其中执行'echo'以将单行作为数据发送到gnuplot。由于5.0可以使用数据块,请参阅http://stackoverflow.com/a/33064653/2604213 – Christoph