Legend And Plot Disagree

2 次查看(过去 30 天)
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

采纳的回答

Cris LaPierre
Cris LaPierre 2021-2-20
编辑:Cris LaPierre 2021-2-20
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 个评论
Cris LaPierre
Cris LaPierre 2021-2-20
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).

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by