2017-12-06 10 views
1

ich den folgenden Code bin mit einem scatter3 Grundstück zur Herstellung:Wie zeichne ich eine Linie zwischen zwei Punkten in einem Scatter3-Diagramm in MATLAB?

X = [1,2,3,1,2,3,1,2,3,1,2,3,1,2,3]; 
Y = [0,0,0,20,20,20,40,40,40,60,60,60,80,80,80,]; 
Z1 = [10,-48.7863,-73.3457, -68.3091, -142.0666,... 
     12, -35.7863, -23.347, -29.3091,-141.0660,... 
     13,3.2137,-10.3457,-33.3091,-128.0666] 
Z2 = [2,8.2137,-2.3457, 46.6909, 12.9334,... 
     10,11.2137, 19.6543,35.6909, 45.9334,... 
     -1,16.2137,37.6543,50.6909,34.9334] 

figure;scatter3(X,Y,Z1,'filled'); hold on; 
scatter3(X,Y,Z2,'filled') 

die im folgenden Bild ergibt:

enter image description here

Was würde ich eine vertikale Linie zwischen den einzelnen blau haben mag, ist, und roter Punkt.

Eine beispielhafte Ausgabe könnte wie folgt aussehen: enter image description here

Ich versuchte, die line Funktion verwenden, aber ich bin nicht sicher, wie der Vektor aufzubauen.

Ich habe versucht:

line(X,Y,Z1) % will only connect the blue dots 
line(X,Y,Z2) % will only connect the red dots 


line(X,Y,Z1:Z2) % will give an error that the vectors must be the same length 

Antwort

2

Sie müssen vertically concatenate Ihre Z1 und Z2 Daten, so dass jede Spalte eine line plotten definiert. Sie müssen auch X und Y in gleicher Weise replizieren:

line([X; X], [Y; Y], [Z1; Z2], 'Color', 'r'); 

Und das Ergebnis (auf Ihre Streudiagramm hinzugefügt):

enter image description here

Verwandte Themen