How to change color of lines on legend?
    55 views (last 30 days)
  
       Show older comments
    
Is there any way to change the color of lines in the legend AFTER plotting the graph(like using Edit\axes properties)?
5 Comments
Accepted Answer
  Mahdi Torabi
      
 on 14 Jul 2018
        
      Edited: Matt J
      
      
 on 14 Jul 2018
  
      
      2 Comments
  Matt J
      
      
 on 14 Jul 2018
				This gives an error,
Error using legend>process_inputs (line 554)
Invalid argument. Type 'help legend' for more information.
Error in legend>make_legend (line 306)
[autoupdate,orient,location,position,children,listen,strings,propargs] = process_inputs(ha,argin); %#ok
Error in legend (line 259)
    make_legend(ha,args(arg:end),version);
  Walter Roberson
      
      
 on 15 Jul 2018
				Turns out you just need
hold on
to be in effect, as otherwise the second plot() clears the axes.
More Answers (1)
  Matt J
      
      
 on 14 Jul 2018
        
      Edited: Matt J
      
      
 on 14 Jul 2018
  
      This might be what Walter meant,
t=linspace(0,1,10);
L(1:2) = plot(t,exp(-t), 'r--',nan,nan,'k--');hold on
L(3:4) = plot(t,1-exp(-t), 'g^-',nan,nan,'m^-'); hold off
legend(L([2,4]), 'Red','Green')

2 Comments
  Walter Roberson
      
      
 on 1 May 2020
				plot(nan,nan) with appropriate line style and color, once for each different thing you want to appear in the legend, recording the handle that is returned. Then when you call legend(), pass that array of handles in as the first parameter to legend()
See Also
Categories
				Find more on Legend in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



