How do I plot a figure and animate overlaying plots in a separate figure?
Afficher commentaires plus anciens
I am trying to understand how to plot a figure and animate on a separate one other stuff. The following piece of code
clear all;
close all;
clc;
% data
x = linspace(0,3,100);
f = sin(x);
% plot 1
figure;
plot(x,x);
% plot 2
figure;
plot(x,3*f);
% plot 3
figure;
for i=1:0.1:5
scatter(x,f);
hold on;
plot(x,i*f);
hold off;
drawnow;
end
creates two figures (plot 1 and 2) and then I wanted to animate something on the third figure, where each frame is to be drawn individually based on current plot commands or user-defined plot functions (i.e., I really want to plot first with scatter and on top of it plot the amplified sinus, I dont want to use plot(x,f,x,i*f)). My problem is that the animation sometimes is placed on figure 3 and sometimes on figures 1 or 2. I dont understand why and how I can solve this. Can you help me out? Thank you!
Réponse acceptée
Plus de réponses (2)
KSSV
le 29 Avr 2019
0 votes
Check Animation code here in the link: https://in.mathworks.com/matlabcentral/fileexchange/33082-simplependulum?focused=5201720&tab=function
1 commentaire
Mauricio Fernández
le 29 Avr 2019
Hussein
le 8 Juil 2023
0 votes
clc clear all close all figure Z = peaks; surf(Z) axis tight set(gca,'nextplot','replacechildren','visible','off') f = getframe; [im,map] = rgb2ind(f.cdata,256,'nodither'); im(1,1,1,20) = 0; for k = 1:20 surf(cos(2*pi*k/20)*Z,Z) f = getframe; im(:,:,1,k) = rgb2ind(f.cdata,map,'nodither'); end imwrite(im,map,'DancingPeaks.gif','DelayTime',0.1,'LoopCount',inf) %g443800
Catégories
En savoir plus sur Animation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!