How to fix the legends for these 3 cases?

1 vue (au cours des 30 derniers jours)
Vanessa Phung
Vanessa Phung le 27 Mar 2017
Commenté : Vanessa Phung le 27 Mar 2017
I've plotted 3 subplots to test out how is the legend arrange. Multiple lineplot for different condition in each subplot. I want to label the respective lines correctly, however, I failed. First subplot has label respectively but I want to rename. Second and third subplots can be renamed, but cannot represent each line colour.
Please give me some suggestion for the correction of my code (only the plotting figures part). Thank you.
%----Physical constant---------% m = 9.1e-31; % electron mass [kg] c= 3e8; % speed of light [m/s] eps = 8.854e-12;% permittivity [F/m] e = 1.6e-19; % charge [Coulomb] h_bar = 6.626e-34 /2/pi; % reduced Planck constant_bar [m^2 kg/s]
%----Calculating K for different ro and different energy----% E_beam = linspace(10e6,100e6,10); %Electron beam energy gamma = E_beam./0.511e6; gamma'; M=gamma'*ones(1,10)
n =linspace(1e24,1e25,10); %density n'; N=n'*ones(1, 10)
P =sqrt( M.*(N/1e6))
ro = linspace(1e-6, 5e-6,5); for i = 1:length (ro) K(:,:,i)= 1.33E-10.*P.*(ro(i)/1e-6) end
%----Plasma frequency----% plasma_freq=sqrt((n(1,:)*(1.6e-19)^2)/(9.1e-31*8.85e-12)); lambda_plasma = 2*pi*c./plasma_freq; % plasma wavelength [m] wavenum = 2*pi./lambda_plasma; % [m-1]
%----Betatron parameter----% w_beta = plasma_freq./sqrt(2*gamma); % fundamental beta freq [s-1] % lambda_beta = 2*pi*c/w_beta; % betatron period [m] lambda_beta_1um = (2*pi*gamma(1,:)*ro(1,1))./K(1,:,1); lambda_rad_1um = lambda_beta_1um./(2.*gamma(1,:).*gamma(1,:)); % fundamental wavelength
%----Plotting figures----% figure (1) subplot(3,1,1) AX= plot(gamma(1,:),K(:,:,1),'r',gamma(1,:),K(:,:,2),'g',gamma(1,:),K(:,:,3),'k',gamma(1,:),K(:,:,4),'b',gamma(1,:),K(:,:,5),'c','LineWidth',2); title ('legend is correct for each but cannot rename each of them'); ylabel('K'); xlabel('gamma'); ff = findobj('Color','r'); gg = findobj('Color','g'); hh = findobj('Color','k'); tt = findobj('Color','b'); yy = findobj('Color','c'); v = [ff(1) gg(1) hh(1) tt(1) yy(1)]; legend(v, 'Location','northeastoutside');
subplot(3,1,2) h1 = 'rgkbc'; h2=('12345'); for iter=1:length(ro) ax=plot(N(:,i),K(:,:,iter),'Color',h1(iter),'LineWidth',2);hold on h=legend ([ax], {h2(1) h2(2) h2(3) h2(4) h2(5)},'Location','northeastoutside');hold on title ('only showing last iteration value as legend') end ylabel('K'); xlabel('Density,n [m^{-3}]');
subplot(3,1,3) format short e color = 'rgkbc'; for i=1:length(ro) plot(N(:,1),K(:,:,i),'Color',color(i),'Linewidth', 2); hold on; entries(i) = { sprintf('ro = %i ',ro(i)) }; end legend('String',entries,'Location','northeastoutside');% Create legend using the 'entries' strings ylabel('K'); xlabel('Density,n [m^{-3}]'); title('only show one colour for different label');

Réponse acceptée

KSSV
KSSV le 27 Mar 2017
clear all;
close all;
clc;
%----Physical constant---------%
m = 9.1e-31; % electron mass [kg]
c= 3e8; % speed of light [m/s]
eps = 8.854e-12;% permittivity [F/m]
e = 1.6e-19; % charge [Coulomb]
h_bar = 6.626e-34 /2/pi; % reduced Planck constant_bar [m^2 kg/s]
%----Calculating K for different ro and different energy----%
E_beam = linspace(10e6,100e6,10); %Electron beam energy
gamma = E_beam./0.511e6;
gamma';
M=gamma'*ones(1,10)
n =linspace(1e24,1e25,10); %density
n';
N=n'*ones(1, 10)
P =sqrt( M.*(N/1e6))
ro = linspace(1e-6, 5e-6,5);
for i = 1:length (ro)
K(:,:,i)= 1.33E-10.*P.*(ro(i)/1e-6)
end
%----Plasma frequency----%
plasma_freq=sqrt((n(1,:)*(1.6e-19)^2)/(9.1e-31*8.85e-12));
lambda_plasma = 2*pi*c./plasma_freq; % plasma wavelength [m]
wavenum = 2*pi./lambda_plasma; % [m-1]
%----Betatron parameter----%
w_beta = plasma_freq./sqrt(2*gamma); % fundamental beta freq [s-1]
% lambda_beta = 2*pi*c/w_beta; % betatron period [m]
lambda_beta_1um = (2*pi*gamma(1,:)*ro(1,1))./K(1,:,1);
lambda_rad_1um = lambda_beta_1um./(2.*gamma(1,:).*gamma(1,:)); % fundamental wavelength
%----Plotting figures----%
figure (1)
subplot(3,1,1)
AX= plot(gamma(1,:),K(:,:,1),'r',gamma(1,:),K(:,:,2),'g',gamma(1,:),K(:,:,3),'k',gamma(1,:),K(:,:,4),'b',gamma(1,:),K(:,:,5),'c','LineWidth',2);
title ('legend is correct for each but cannot rename each of them');
ylabel('K');
xlabel('gamma');
ff = findobj('Color','r');
gg = findobj('Color','g');
hh = findobj('Color','k');
tt = findobj('Color','b');
yy = findobj('Color','c');
v = [ff(1) gg(1) hh(1) tt(1) yy(1)];
str = {'a' 'b' 'c' 'd' 'e'} ;
legend(v, str1,'Location','northeastoutside');
subplot(3,1,2)
  2 commentaires
KSSV
KSSV le 27 Mar 2017
I have showed for one plot......follow the same for others...
Vanessa Phung
Vanessa Phung le 27 Mar 2017
Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by