plotting live data from a sensor
조회 수: 14 (최근 30일)
이전 댓글 표시
Hello,
I'm trying to plot a line graph of the live data from my sensor. However, when I run my code is does not display the line.
Thanks in advance
code:
clear all;
S = serialport('COM5',115200);
temp =[];
accx=[];
accy=[];
accz=[];
i = 0;
while true
if S.NumBytesAvailable > 0
data = readline(S);
temp = [str2double(split(data,','))];
accx = [accx;temp(1)];
accy = [accy;temp(2)];
accz = [accz;temp(3)];
plot(i,temp(1))
i=i+1;
end
end

댓글 수: 0
채택된 답변
dpb
2021년 1월 6일
You are plotting only one point at a time and without having executed a hold on instruction, each call to plot creates a new line object, deleting the previous. So, at most you would have a dot moving across the axis if the marker size were large enough to see it. To observe this, change your present plot() call to
plot(i,temp(1),'markersize',10)
To do this kind of thing you need to use hold on and update the XData,YData arrays instead, or use the new AnimatedLine feature. See
for details and examples.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!