Diff conditions: how to clear dynamic legends at the end of each iteration; how to remove fitted linear lines at the end of each iteration.
I am trying to extend this answer of the thread Dynamic Legend (Updates in every recursion) to iterate legend on one graph. Proposal to cover dynamic legend on one linear graph
close all; clear all;
% Test data
aSize=zeros(2,777);
aSize=[[0, 0]' randi(3,2,777)]; % STDEV about 3
x=0:1:180;
hFig=figure;
index=1;
while (index<=7);
% origo left alone
aSize(:, index+1) = aSize(:, index+1) + index; % to have linearly increasing trend
sz=40;
legend('-DynamicLegend');
h = scatter(aSize(1,1:index+1)', aSize(2,1:index+1)', sz, ...
'MarkerEdgeColor',[0 .5 .5],...
'MarkerFaceColor',[0 .7 .7],...
'LineWidth',1.5, ...
'DisplayName', sprintf('Data'));
xlabel('width'); ylabel('height');
hold on;
% Optimum
x=0:1:max( aSize(1, 1:index+1) );
y = x; % assume uniform
grid on;
h1=plot(x,y, 'black', ...
'DisplayName', sprintf('Optimum'));
% Fit with R2 linear
x=aSize(1,1:index+1);
b1 = aSize(1,1:index+1)' \ aSize(2,1:index+1)';
yCalc1 = b1 * aSize(1,1:index+1);
Rsq1 = 1 - sum((y(1:index+1) - yCalc1).^2)/sum((y(1:index+1) - mean(y(1:index+1))).^2)
% origo needed
x = [0 x];
yCalc1 = [0 yCalc1];
h2=plot(x(1:index+2)', yCalc1(1:index+2)', '--p', ...
'DisplayName', sprintf('Fit R2 = %d', Rsq1));
drawnow;
index=index+1;
end;
Output unsuccessful where legends are just appended
MATLAB: 2016a
OS: Debian 8.5 6 bit
Linux kernel: 4.6 of backports
Hardware: Asus Zenbook UX303UA
hold off
before the end of the loop. Does that do what you're looking for? – Coates