Plotting streaming data at unequal intervals

1 view (last 30 days)
I am trying to plot a data that is streamed. It is saved in my logger only when particular value is changed.
For example:
loggedData = [1 NaN NaN 2 NaN NaN NaN 10 NaN NaN NaN];
actualData = [1 1 1 2 2 2 2 10 10 10 10];
time = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10];
plot(time, loggedData)
plot(time, actualData)
I would like to plot(time, loggedData) but it would not work similar to plot(time, actualData). Changing from loggedData to actualData would increase the storage unnecessarily but only option I know as of now.
If I do a scatter plot, it would not connect with lines inbetween as I wanted.
Is there any solution?

Accepted Answer

Ameer Hamza
Ameer Hamza on 19 May 2020
Edited: Ameer Hamza on 19 May 2020
loggedData = [1 NaN NaN 2 NaN NaN NaN 10 NaN NaN NaN];
time = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10];
plot(time, fillmissing(loggedData, 'previous'))

More Answers (0)

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!