Add legend to for loop

14 visualizaciones (últimos 30 días)
AKSHAY DESHMUKH
AKSHAY DESHMUKH el 22 de Abr. de 2021
Comentada: AKSHAY DESHMUKH el 22 de Abr. de 2021
I am trying to add legend to for loop and I need my legend to have variables used to plot graphs.
fig1 = figure()
ax1 =axes('Parent',fig1)
for C = 1:36
for I = [1:5]
%Cl Vs Alpha
index = 1;
XVAR = 'Alpha';
YVAR='CL';
MACH = 0.27;
ALTITUDE = 0;
legend(sprintf('TEST_AERO%d_%d',I , C))
hold on
TEST_AERO_FINAL.(sprintf('TEST_AERO%d_%d',I , C)).DES_SPACE{index}.plot(XVAR,YVAR,MACH,ALTITUDE,ax1)
end
end

Respuesta aceptada

DGM
DGM el 22 de Abr. de 2021
Editada: DGM el 22 de Abr. de 2021
Generally, it's best if you specify the plot object handle when you call legend(). Since all of your plotting code is missing, consider the simplified example:
numberofplots=3;
h=zeros(numberofplots,1); % preallocate handles vector
legendstrings=cell(numberofplots,1); % preallocate legend strings
for n=1:numberofplots
x=rand(10,1); % garbage example data
y=rand(10,1);
h(n)=plot(x,y); hold on; % store this plot handle
legendstrings{n}=sprintf('X1 = %f',x(1)); % store this legend string
end
% the call to legend() doesn't need to be in the loop
legend(h,legendstrings,'location','northwest');

Más respuestas (0)

Categorías

Más información sobre Legend en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by