2017-02-28 8 views
0

Was ist mit diesem Code falsch?Mehrere Plots auf derselben Figur zeichnen

plot3(X,Y,Z,'r'); 
hold on 
plot3(Xs,Ys,Zs,'g'); 

Warum bekomme ich nur ein Diagramm? Wenn ich versuche, sie getrennt zu zeichnen, ziehen beide gut.

+0

Es sieht gut aus, und es sollte funktionieren. Können Sie bitte etwas mit kleinen Beispieldaten erweitern, die den Fehler replizieren können, ein grobes Bild dessen, was Sie erwarten und was Sie bekommen. –

+0

Funktioniert für mich mit 'X = [1 2 3]; Y = [1 2 3]; Z = [1 2 3]; Xs = 4+ [1 2 3]; Ys = 4+ [1 2 3]; Zs = 4+ [1 2 3]; ' –

+1

Dies könnte auch ein Skalierungsproblem sein. Was sind die Bereiche all Ihrer Variablen? – EBH

Antwort

0

Ihre Frage ist ziemlich vage. Es ist nicht klar, ob Sie zwei Datensätze auf denselben Achsen darstellen möchten (dafür ist Ihr Code in Ordnung), oder Sie möchten verschiedene Achsen auf derselben Figur plotten.

Angenommen, Ihre Daten wie folgt aussieht:

X = 0:0.1:100; 
Y = sin(X); 
Z = cos(X); 
Xs = 0:0.1:100; 
Ys = cos(X); 
Zs = sin(X); 

Für die erste Option würden Sie schreiben:

plot3(X,Y,Z,'r'); 
hold on 
plot3(Xs,Ys,Zs,'g'); 
hold off 

und erhalten:

enter image description here

und für die zweite Option Sie würden schreiben:

subplot 211 
plot3(X,Y,Z,'r'); 
subplot 212 
plot3(Xs,Ys,Zs,'g'); 

und erhalten:

enter image description here

+0

Ja, ich möchte mach was du auf dem ersten Bild gemacht hast, aber aus irgendeinem Grund sehe ich nur eines meiner (x, y, z, '') Tupel gezeichnet wird. Ich verstehe nicht, was ich falsch gemacht habe. –

+0

@BarsiktheCat welche von denen siehst du? der erste oder der zweite? – EBH

+0

der erste @EBH –