2016-06-03 6 views
1

Angenommen, ich habe eine Matrix (benannt als Daten) mit mehreren Zeilen und Spalten. Ich zeichne mit stem3, um eine 3D-Ansicht zu erhalten.Differenzieren von Datenpunkten mit Farbe in einem 3D-Stammdiagramm Matlab

col1 col2 col3 
row1 
row2 
row3 
... 

Spalte1 und Spalte2 werden als x- und y-Achsen verwendet. col3 wird als z-Achse verwendet.

stem3(data(:,1),data(:,2),data(:,3),'red') 

enter image description here

Gibt es eine Möglichkeit, dass ich die Farbe dieser Datenpunkte manipulieren kann, in dem die Datenpunkte mit Wert, der größer ist als die Höhe 500 blau sind, während der Rest rot bleiben? Danke für Ihre Hilfe!

Antwort

2

Die einfachste Sache wird sein, einfach zwei verschiedene stem3 Plots zu erstellen. Sie werden eine erstellen, die nur die Werte zeigt, die größer als Ihr Cutoff (500) sind, und sie blau machen. Dann erstellen Sie eine, die alle anderen mit roten Markierungen verwendet.

% Logical array to determine which population each point belongs to 
isAbove = data(:,3) > 500; 

stem3(data(isAbove,1), data(isAbove,2), data(isAbove,3), 'b'); 

hold on 

stem3(data(~isAbove,1), data(~isAbove,2), data(~isAbove,3), 'r'); 
+0

Vielen Dank ~ – Orangeblue

Verwandte Themen