MATLAB: Plot with ‘DisplayName’ in for loop

dynamiclegendplot

Hi, I am having trouble using plot with legend. I am trying to plot legend dynamically inside for loop. It is supposed to print 7 legend, since for loop goes from 1 to 7, but it only prints 6 legend. Do you see any problem in my code?
Here's my code.
for k=1:7
diffSum = 0;
for
% inside for loop I calculate diffSum
end
legend('-DynamicLegend');
plot(diffSum, 'color', rand(1,3), 'LineWidth', 3, 'DisplayName', sprintf('Group Thermal Comfort: %d', tc(k)));hold on;
legend('show');
drawnow;
end
hold off;

Best Answer

Put this line:
legend('-DynamicLegend');
After the plot command. Like:
for k=1:7
diffSum = 0;
for
% inside for loop I calculate diffSum
end
plot(diffSum, 'color', rand(1,3), 'LineWidth', 3, 'DisplayName', sprintf('Group Thermal Comfort: %d', tc(k)));hold on;
legend('-DynamicLegend');
legend('show');
drawnow;
end
hold off;