在gnuplot中使用pm3d表面绘制散点图

3
我用gnuplot在参数模式下绘制了一个球体。我尝试从文件中绘制3D数据,这些数据将包围球体。似乎与球体重叠的点被隐藏了,即使它们应该在形状前面。
这是我的脚本:
unset border
unset colorbox
unset key
unset tics

set view equal
set isosamples 64

set pm3d depthorder interpolate 0,0
set palette rgb 3,3,3

set parametric
r = 19

splot 'saturn.txt' linecolor rgb 'black', \
r*sin(u)*cos(v) + 40, r*sin(u)*sin(v) + 40, r * cos(u) + 40.5 w pm3d

这里是pastebin上的数据文件saturn.txt

下面的图片展示了我的问题。左图为完整数据,没有球体的影响。中图显示有一些点被遮挡在球体前面。右图则显示这些点确实在球体前面。有什么办法可以同时绘制出两者而不遮挡球体前面的点吗?

显示问题的图片

1个回答

3

我在这篇gnuplotting文章中找到了答案:

set hidden3d front

我不知道为什么这个方法有效。在gnuplot手册中我没有找到相关的内容。
以下是最终的图表:enter image description here

我只发现几个注释,通常 pm3d 和 hidden3d 不会一起工作,只有在某些情况下才会。看来你就是其中之一 :) - Christoph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接