使用条件绘图(Gnuplot)绘制扇区切割数据

时间:2012-07-09 10:24:53

标签: gnuplot

我的数据描绘了一个代表明星的点的3D分布。所以简而言之,我在一个球体内有一个点的随机3D分布。我想做所有点的3D图,除了在x> = 0,y> = 0,z> = 0扇区内的所有点。那就是我想减少球的1/8。我的尝试:

spl 'data' u ($2>=0.?($3>=0.?($4>=0.?1/0:$2):$2):$2):3:4:7 w d lc palette z

什么都不做。我的意思是,它似乎描绘了一切。列数为$ 2 = x,$ 3 = y,$ 4 = z和7美元,可以为这些点赋予颜色。

知道我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

您的条件语法至少看似正确。使用以下数据文件:

1 1 1 1
1 -1 1 2
1 1 -1 3
1 -1 -1 4

-1 1 1 5
-1 -1 1 6
-1 1 -1 7
-1 -1 -1 8

命令

spl 'data.dat' u ($1>=0.?($2>=0.?($3>=0.?1/0:$1):$1):$1):2:3:4 w points pt 7 ps 3 palette z

产生此输出: enter image description here

(1,1,1)处的点不存在,应该如此。这是使用gnuplot 4.6.0。当我尝试命令w d lc palette z时,我看不到任何内容,或许with dots选项的行为有所不同?