使用 x,y,z 坐标在 3d 表面绘制点

plotting points in 3d surface using x,y,z coordinates

我需要根据名为 test.dat

的文件中的 x、y、z 坐标值在 3d 表面绘制一些点

test.dat 文件包含


无 X Y Z

 6                   3.532210   -2.171743    0.921140
 7                   1.164869   -1.418981    0.782133
 1                   2.454732    2.332989   -0.907213
 6                  -3.246376   -1.047325   -0.602590
 6                  -2.620684    0.053348   -0.013310
 6                  -4.569969   -1.249720   -0.617858
 6                  -3.436335    1.003953    0.597094
 1                  -5.328079   -0.323336   -0.025131

第一个值表示 At-no(Atomic number) ,第二个值表示 x 坐标值,第三个值表示 y 坐标值,最后第四个值表示 z 坐标值。

我试过 Gnuplot

splot "test.dat" u 1:2:3 ps variable pt 7

但它显示空白屏幕。 我想在 3d 表面上显示点....带有 At-no 6 的点显示为红色,7 点显示为蓝色,1 点显示为绿色。 是否可以这样显示点数

提前致谢......

您可以使用条件绘图。

splot 'data.txt' u (==6 ? :1/0):3:4 title 'At-no 6' w points pt 7, \
      'data.txt' u (==7 ? :1/0):3:4 title 'At-no 7' w points pt 7, \
      'data.txt' u (==1 ? :1/0):3:4 title 'At-no 1' w points pt 

这创造了