Legend of graph doesn't match plot color and style
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kevin Navarro
am 20 Jan. 2019
Kommentiert: Star Strider
am 20 Jan. 2019
Hello,
I have been looking for a way to match my legend color and characters to what is plotted on the graph. For some reason after the first two legend values, the legend ignores the color and icon that has been plotted and just recycles the second red dotted value for the rest of the plots. How would I get the legend to match the plot?
figure(2)
H=4;
t=0;
omega=2*pi/10;
omegat=omega*t;
kx=-2*pi:.1:2*pi;
eta=H/2*cos((kx)+(omegat));
etaH=eta/H;
plot(kx,etaH)
xlabel('Dimentionless Distance kx')
ylabel('Dimentionless Elevation \eta/H')
% t=0
t=0;
omegat0=omega*t;
hold on
plot(kx,omegat0,'r.')
% t=1
hold on
t=1;
omegat1=omega*t;
plot(kx,omegat1,'y.')
% t=2
hold on
t=2;
omegat2=omega*t;
plot(kx,omegat2,'g.')
% t=3
hold on
t=3;
omegat3=omega*t;
plot(kx,omegat3,'m.')
% Legend
legend('\eta/H as a function of kx', '\omegat at t=0','\omegat at t=1','\omegat at t=2','\omegat at t=3')
0 Kommentare
Akzeptierte Antwort
Star Strider
am 20 Jan. 2019
You can plot an independent variable aganst a dependentent variable constant, however you will end up with the problem you are seeing. Multiplying the constant by a ones vector solves the problem:
hold all
plot(kx,omegat0*ones(size(kx)),'r.')
% t=1
t=1;
omegat1=omega*t;
plot(kx,omegat1*ones(size(kx)),'y.')
% t=2
t=2;
omegat2=omega*t;
plot(kx,omegat2*ones(size(kx)),'g.')
% t=3
t=3;
omegat3=omega*t;
plot(kx,omegat3*ones(size(kx)),'m.')
hold off
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Legend finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!