"Hold on" function doesn't work when use set function to dynamically plot data

2 visualizaciones (últimos 30 días)
Hello, I am currently trying to plot 3 axis-acceleration data dynamically in Matlab in 3 subplot figures. The code is
subplot(3,2,2)
hp1 = plot(1, c1(1, 1),'--rs','LineWidth',1,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r',...
'MarkerSize',3);
axis([ 0,ceil(nFrames*1.03),-6,6]);
title('Acceleration Data in X Axis')
hold on
subplot(3,2,4)
hp2 = plot(1, c2(1, 1),'--rs','LineWidth',1,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',3);
axis([ 0,ceil(nFrames*1.03),-6,6])
title('Acceleration Data in Y Axis')
hold on
subplot(3,2,6)
hp3 = plot(1, c3(1, 1),'--rs','LineWidth',1,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','b',...
'MarkerSize',3);
axis([ 0,ceil(nFrames*1.03),-6,6])
title('Acceleration Data in Z Axis')
hold on
for k = 2 : nFrames
set(hp1, 'XData', k, 'YData', c1(k,1));
set(hp2, 'XData', k, 'YData', c2(k,1));
set(hp3, 'XData', k, 'YData', c3(k,1));
pause(0.03)
end
I found hold on function doesn't work based on this case since I want to retain each point on the figure rather than only plotting the current one.
Does any one know how to solve that problem?
Thanks,
Joe

Respuestas (2)

John Petersen
John Petersen el 1 de Dic. de 2014
Try
set(hp1, 'XData', [get(hp1, 'Xdata'); k], 'YData', [get(hp1,'Ydata'); c1(k,1)]);

Yasmeen
Yasmeen el 14 de En. de 2014
Have you tried "hold all"?

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by