Affichage nuage de points 3D avec / Couleur En fonction de données
-
27-10-2019 - |
Question
J'ai un grand ensemble de données que j'ai recueilli que je voudrais afficher dans un nuage de points 3D. Les données sont contenues dans un fichier texte.
Les données sont organisées comme si
1 1 1 10.8
2 1 1 3.4
4 1 1 6.1
8 1 1 4.5
1 2 1 7.8
...
8 8 8 11.9
Les trois premiers jetons dans chaque ligne doit représenter (x, y, z) des points. Dans le diagramme de dispersion 3-D, il devrait y avoir un point pour chacun de ces points.
La couleur des points dépend de la quatrième jeton. En fait, plus le quatrième paramètre est la valeur maximale, plus il sera facile de la couleur rouge. La fin du quatrième paramètre est à la valeur min, le plus bleu, il sera.
Je suis sûr que la fonction scatter3 (X, Y, Z, S, C) fait cela, mais je ne suis pas un expert.
Voici ce que ma variable de données contient:
La solution
Essayez ceci (en supposant data
est le tableau que vous avez présenté dans votre question):
x = data(:,1);
y = data(:,2);
z = data(:,3);
s = ones(size(data,1), 1) * 20; %sizes of markers
c = data(:,4); %color data
scatter3(x,y,z,s,c);
colorbar;
Ou vous pouvez simplement le faire en ligne:
scatter3(data(:,1),data(:,2),data(:,3),ones(size(data,1), 1)*20,data(:,4));
colorbar