Тепловая карта точек в объеме - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть (x, y, z) точки с координатами, подобными следующему рисунку,

enter image description here

Я хочу раскрасить точки на основеих концентрация.Идея состоит в том, чтобы создать тепловую карту точек, но на трехмерной фигуре.

Я был бы очень признателен за любую возможную помощь.

С уважением.

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Версия для разработки gnuplot теперь поддерживает вычисление функции плотности точек, которая, в свою очередь, может использоваться для окрашивания отдельных точек.Это зависит от нового набора команд, которые работают с трехмерной сеткой вокселей.Пример сценария и вывод:

set title "Gaussian 3D cloud of 3000 random samples\ncolored by local point density"
rlow = -4.0; rhigh = 4.0
set xrange [rlow:rhigh]; set yrange [rlow:rhigh]; set zrange [rlow:rhigh]
set xtics axis nomirror; set ytics axis nomirror; set ztics axis nomirror;
set xyplane at 0
set xzeroaxis lt -1; set yzeroaxis lt -1; set zzeroaxis lt -1;
set log cb; set cblabel "point density"

# define 100 x 100 x 100 voxel grid
set vgrid $vdensity size 100
vclear $vdensity    

# datablock $random has previously been loaded with 3000 points
# in a spherical Gaussian distribution about the origin
# The vfill command adds 1 to each voxel in a spherical region with radius 0.33
# around each point in $random
vfill $random using 1:2:3:(0.33):(1.0)

# plot the same points colored by local point density
splot $random using 1:2:3:(voxel($1,$2,$3)) with points pt 7 ps 0.5 lc palette

enter image description here

Полная демонстрация здесь: демонстрация вокселей в онлайн-коллекции gnuplot

0 голосов
/ 26 ноября 2018

Использование значений данных в 4-м столбце для индексации гладкой цветовой палитры

splot DATA using 1:2:3:4 with points lc palette
...