selective hold on plot
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentar
Adam
am 4 Mär. 2019
Just keep the handles to each plot and delete them as appropriate yourself when conditions define that they should be removed.
Antworten (2)
Star Strider
am 1 Mär. 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
am 4 Mär. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!