Displaying legend for multiple plots
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I haven't seen this question asked yet, so I guess the solution is quite simple, but I haven't been able to find it.
I need to plot several groups of lines (each of about 10-15 lines) and display legend, but not for each of the lines seperately but only for each group.
Specificaly, I have groups of impact craters arranged by the age of the surface they are on. Each group has around20-30 craters and there are 4 groups, so I want the legend of the graph to have 4 entries, one for each group.
Can someone help me with this? Thank you in advance.
0 Commenti
Risposta accettata
  Luffy
      
 il 7 Lug 2012
        
      Modificato: Luffy
      
 il 7 Lug 2012
  
       h = get(gca,'Children');
 Then select handles of lines you want to add to legend.
 Say h(1) is handle of a line in 1st group,
     h(10)                       2nd group,
     h(15)                       3rd
     h(30)                       4th 
 v = [h(1) h(10) h(15) h(30)]';
 legend(v);
3 Commenti
  Luffy
      
 il 7 Lug 2012
				 You need not use hold on command that many times,just write it before for loop,after figure command
Più risposte (1)
  Luffy
      
 il 7 Lug 2012
        
      Modificato: Luffy
      
 il 7 Lug 2012
  
       a=randn(5,50);
 b=randn(5,50);
 c=randn(5,50);
 figure;
 hold on;
 for i=1:5
      plot(a(i,:),'.-b');
      plot(b(i,:),'.-r');
      plot(c(i,:),'.-g');
 end
 h = findobj('Color','r');
 g = findobj('Color','b');
 i = findobj('Color','g');
 v = [h(1) g(1) i(1)];
 legend(v);
% For location where your legend should appear see
  doc legend
2 Commenti
  mimi sam
 il 22 Mag 2017
				Or you can proceed as in this example (of matlab)
Plot three lines and return the chart line objects created. Then, create a legend that includes only two of the lines by specifying the first input argument as a vector of the chart line objects to include.
x = linspace(0,3*pi); y1 = sin(x); p1 = plot(x,y1);
hold on y2 = sin(x - pi/4); p2 = plot(x,y2);
y3 = sin(x - pi/2); p3 = plot(x,y3); hold off
legend([p1 p3],'First','Third')
Vedere anche
Categorie
				Scopri di più su Legend in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


