2017-06-20 4 views
0

ich zwei Matrix Y1 und Y2 haben (wie zwei Sätze von Vektoren) (sie stellt einige Simulationslösungen von 2 Methoden kommen) Ich möchte, dass sie vergleichen, indem Plotten:Wie gleiche Zufallslinienfarbe für jedes Datenpaar verwenden

plot(x,Y1,x,Y2) 

Und ich möchte das Grundstück anpassen, um Verbindungen zu haben. Ich weiß, wie man sagt "zuerst dieser Typ, zweitens dieser Typ"

plot(x,Y1,'o',t,Y2,'-') 

aber die Farben stimmen nicht überein. Gibt es einen "automatischen" Weg? Ich weiß, was ich tun kann

plot(t,Y1(1,:),'ro',t,Y1(2,:),'bo',t,Y2(1,:),'r-',t,Y2(2,:),'b-') 

Aber es ist nicht der beste Weg, ...

+0

Wie wissen sollten Matlab, welche Farben die gleiche sein? – m7913d

+0

Ich weiß es nicht, deshalb frage ich – Ccile

+1

Wenn Sie Plots richtig anpassen möchten, ist der beste Ansatz, sie unabhängig voneinander für jeden Datensatz mit 'Hold on 'aufzurufen, wie Vahe –

Antwort

2

Sie die Farbreihenfolge ax.ColorOrderIndex mit zurücksetzen. Zum Beispiel

plot(t,Y1,'o'); 
hold on; 
ax = gca; 
ax.ColorOrderIndex = 1; 
plot(t,Y2,'-'); 
hold off; 
+0

und mit dieser Methode I kann so viele Matrizen hinzufügen, wie ich möchte. Habe ich recht ? – Ccile

+0

Sicher, setzen Sie einfach den 'colorOrderIndex' nach jedem Plot zurück. Verwenden Sie die 'hold off;' nur, nachdem Sie mit dem Plotten fertig sind. Sie müssen die Zeile "ax = gca" nicht wiederholen. –

Verwandte Themen