selective hold on plot
14 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I am doing lot of plots on a single figure and i want to hold on the selective plots and NOT all of plots. With MATLAB hold 'on' , it will make hold on all or none. Any work around?
Thanks,
1 Commento
Adam
il 4 Mar 2019
Just keep the handles to each plot and delete them as appropriate yourself when conditions define that they should be removed.
Risposte (2)
Star Strider
il 1 Mar 2019
It depends on what you want to do, of course.
One option is to simply put a condition on the hold call:
for k = 1:4
subplot(2,2,k)
plot(rand(1,10), rand(1,10), 'pb')
if rem(k,2) == 1
hold on
end
plot(rand(1,10)+1, rand(1,10)+1, 'pg')
hold off
end
I assume you are doing subplot calls or something similar.
Steven Lord
il 4 Mar 2019
What do you mean when you say you want to '"hold on" to y1'? Do you want to do something like a zero order hold on the data? Or do you just want to skip the updating step for that particular curve?
Perhaps using animatedline objects would work. If a condition is met, just stop calling addpoints for that particular animatedline while the condition is satisfied. For example, adapting the example from the animatedline help text:
numpoints = 100000;
x = linspace(0,4*pi,numpoints);
y = sin(x);
figure
h = animatedline;
axis([0,4*pi,-1,1])
for k = 1:numpoints
% Skip y coordinates outside [-0.5, 0.5]
if abs(y(k)) <= 0.5
addpoints(h,x(k),y(k))
end
drawnow update
end
If you wanted the curve to continue drawing straight across the lines y = 0.5 and y = -0.5, you could use min and max to saturate the data to those bounds.
0 Commenti
Vedere anche
Categorie
Scopri di più su Annotations in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!