"Hold on" function doesn't work when use set function to dynamically plot data
이전 댓글 표시
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
답변 (2개)
John Petersen
2014년 12월 1일
Try
set(hp1, 'XData', [get(hp1, 'Xdata'); k], 'YData', [get(hp1,'Ydata'); c1(k,1)]);
카테고리
도움말 센터 및 File Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!