使用 gnuplot 绘制 4D 图

4D plot with gnuplot

我在这样的文件中将大型数据集分为四列

# X Y Z f
0 0 0 0
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
7 0 0 0
...

其中(x,y,z)是3D网格中每个点的坐标(每个方向[0,1]之间,每个方向分为256个区间),f是每个点的field值观点。我想以一种方式绘制数据,即在每个点上绘制一个彩色圆圈,其颜色根据绘制的 f 的值指定。由于是非常大的数据集,link does not work properly, and I have incorrect plot like this

中提供的解决方案

我仍然不清楚您到底想要实现什么以及您的数据到底是什么样子。 也许它会通过一些最小的例子变得更加清晰,包括 "full" 数据。 也许是这样的?

代码:

### splot with points and palette
reset session

$Data <<EOD
0 0 0 0.0
0 1 0 0.1
0 2 0 0.2
1 0 0 0.3
1 1 0 0.4
1 2 0 0.5
2 0 0 0.6
2 1 0 0.7
2 2 0 0.8
EOD

set palette rgb 33,13,10

splot $Data u 1:2:3:4 w p pt 7 ps 2 palette notitle
### end of code

结果:

关于 gnuplot 中的 4D 图提出建议,如果您有非常大的数据集,gnuplot 可能不是一个非常合适的选项。使用 paraview 会好得多,它会为您提供更多过滤器和工具来可视化您的数据。而且还是免授权软件。