2017-06-10 2 views
0

Wie kann ich die Legende auf jeden Graph separat wie (Abbildung 2) setzen, anstatt die Legende auf die Seite wie (Abbildung 1) zu setzen?Legende in mehreren Plots Matlab

Abbildung 1

enter image description here

Abbildung 2

enter image description here

Antwort

1

Wahrscheinlich die einfachste Sache, die text(x,y,textstring) Funktion zu verwenden wäre etwas Text in den letzten Datenpunkte jedes Ihrer platzieren Kurven (zB x, y Punkt des größten x, für jede Kurve). Die Argumente x, y können Vektoren sein und das Argument textstring kann ein Zellen-Array von Strings sein.

Erstellen Sie ein Array von endgültigen Datenpunkten getrennt für x und y.

xcoords = [x0_final x1_final ...xn_final]; 

ycoords = [y0_final y1_final ...ym_final]; 

erstellen Zellenfeld Ihre Legende Strings die gleiche Länge wie die xcoord und yKoord Arrays die Kennzeichnung tun sollten Sie

legend_strings = {'T0 = 0.5', 'T0 = 0.7' ...}; 

Dann ein Anruf an text(xcoords,ycoords,legend_strings) nach Ihrem Grundstück enthält.

+0

@Reza wenn diese Antwort haben Sie geholfen - es zu akzeptieren, wenn nicht, warum erklären, da dies die beste ist Weg, dies zu tun. – EBH

0

Der beste Weg, um jede Zeile zu kommentieren, wäre das Hinzufügen von Etiketten oder Text anstelle von Legenden.

Zum Beispiel: 1)

labeledge(h,s,t,'T_0=1.5s')

2)

txt = texlabel('T_0=1.5s') 
text=text(1,1.00E-04,txt) 
+0

'labeledge' ist hier irrelevant, da es sich nicht um ein Graph-Objekt handelt, sondern nur um eine einfache Grafik. Außerdem wird 'textlabel' nicht benötigt, dies kann mit einfachem' text' gemacht werden, – EBH

Verwandte Themen