Diff conditions: как очистить динамические легенды в конце каждой итерации; как удалить установленные линейные линии в конце каждой итерации.Как получить динамическую легенду о линейном графике в цикле?
Я пытаюсь распространить этот ответ на поток Dynamic Legend (Updates in every recursion) на итерацию легенды на одном графике. Предложение для покрытия динамической легенды на одном линейном графике
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;
Выход неудачными, где легенды просто добавляются
Matlab: 2016a
ОС: Debian 8.5 6 битную
Linux ядра: 4.6 оборотов
Оборудование: Asus Zenbook UX303UA
Вы спрашиваете, как удалить ранее построенные данные в конце цикла? –
Запишите 'hold off' перед концом цикла. Это делает то, что вы ищете? –
Я удалил часть ответа из вашего вопроса. Вопросы должны содержать только вопрос. Я судил, что ваше добавление не добавило уже принятого вами ответа, поэтому в этом вопросе не было смысла. Если у вас есть что-то существенное для добавления, вы можете сделать это в новом ответе. –