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:

Data Variable

War es hilfreich?

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top