Legend And Plot Disagree
    6 views (last 30 days)
  
       Show older comments
    
    Stashu Kozlowski
 on 19 Feb 2021
  
    
    
    
    
    Commented: Cris LaPierre
    
      
 on 20 Feb 2021
            I am trying to plot three functions on the graph; horizontal, y=x, and a sawtooth function. When I plot all three of them, the legend sucsefully displays 3 different colours (one for each function), but the plot itself doesnt distingiuse between the 3 plots and colours two of them the same way. I have tried manuly setting the colours of them different but then the legend disagress agian. Anyone know how to fix this?
x = 0:0.1:16;
yClassical = 0*ones(length(x));
yVacuum = x;
yQuantum = 4.9/2*sawtooth(2*pi/4.9*x)+4.9/2;
hold on
plot(x, yVacuum, 'lineWidth', 4)
plot(x, yClassical, 'lineWidth', 4)
plot(x, yQuantum, 'lineWidth', 4)
legend('Vacuum', 'Classical Prediction', 'Quantum Prediction')
hold off
0 Comments
Accepted Answer
  Cris LaPierre
    
      
 on 20 Feb 2021
        
      Edited: Cris LaPierre
    
      
 on 20 Feb 2021
  
      The problem is related to yClassical being a matrix instead of a vector. When using ones, if you only specify one input value, n, then the result is an nxn matrix. I think you want a 1xn.
Also, since you mulitiply it by zero anyway, I'll use the zeros function instead.
x = 0:0.1:16;
yClassical = zeros(1,length(x));
yVacuum = x;
yQuantum = 4.9/2*sawtooth(2*pi/4.9*x)+4.9/2;
plot(x, yVacuum, 'lineWidth', 4)
hold on
plot(x, yClassical, 'lineWidth', 4)
plot(x, yQuantum, 'lineWidth', 4)
legend('Vacuum', 'Classical Prediction', 'Quantum Prediction')
hold off
1 Comment
  Cris LaPierre
    
      
 on 20 Feb 2021
				If you are curious what is happening, when yClassical is a 161x161 matrix, MATLAB will treat each column as a series, meaning it will plot each column of Y as a separate line. Since Y is all zeros, it plots 161 lines one top of each other. The numbering just happens to work out that the last line (the one you see because it's plotted on top of the others), ends on the same color as Vacuum, giving the appearance of not having used a different color.
You can inspect this by opening the plot browser (figure toolbar > View > Plot browser).

More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!