Anzeige des 3-D-Streudiagramms mit farbabhängig von Daten
-
27-10-2019 - |
Frage
Ich habe eine große Menge von Daten, die ich gesammelt habe, die ich in einem 3-D-Streudiagramm anzeigen möchte. Die Daten sind in einer Textdatei enthalten.
Die Daten sind so organisiert
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
Die ersten drei Token in jeder Zeile sollten (x, y, z) Punkte darstellen. Im 3-D-Streudiagramm sollte es für jeden dieser Punkte einen Punkt geben.
Die Farbe der Punkte hängt vom vierten Token ab. Je näher der vierte Parameter dem maximalen Wert näher ist, desto näher ist er der Farbe rot. Der vierte Parameter schließen zum min -Wert, der Blauer, der er sein wird.
Ich bin mir ziemlich sicher, dass die Funktion Scatter3 (X, Y, Z, S, C) dies tut, aber ich bin kein Experte.
Hier ist, was meine Datenvariable enthält:
Lösung
Versuchen Sie dies (annehmen data
ist das Array, das Sie in Ihrer Frage präsentiert haben):
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;
Oder Sie können es einfach im Inline:
scatter3(data(:,1),data(:,2),data(:,3),ones(size(data,1), 1)*20,data(:,4));
colorbar