How to plot a graph from a growing .csv file with time?
Ältere Kommentare anzeigen
Hi! I want to plot a graph from a .csv file, which is created by an instrument and grows with measurement time. The file consists of two columns, i.e., elapsed time and measured values. My test program worked with writematrix, readmatrix as shown below but as the file gets bigger, it becomes slow as it reads the whole file every time. Is there a way to just read newly added date from the .csv file and add points to the already drawn plot?
%Test program
m=zeros(1,2);
dm=zeros(1,2);
save('TestData.csv','m');
h = animatedline;
for i=1:1E3
x=0.01*i;
y=sin(4*x);
dm(1,1)=x;dm(1,2)=y;
m=cat(1,m,dm);
writematrix(m,'TestData.csv');
q=readmatrix('TestData.csv');
addpoints(h,q(i,1),q(i,2));
drawnow limitrate;
end
Antworten (1)
KALYAN ACHARJYA
am 31 Jan. 2021
Bearbeitet: KALYAN ACHARJYA
am 31 Jan. 2021
One way:
MATLAB process the codes sequentially, If possible read the data from instrument one by one and plot them accordingly till the while condition true, you can consider the time period during the loop as a while loop condition.
while true
% read the elapsed time and measured values.
plot(elapsed_time,measured_val);
hold on;
end
1 Kommentar
Seiji Kuroda
am 3 Feb. 2021
Kategorien
Mehr zu Data Import and Analysis finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!