MATLAB Answers

How can I create a plot where the graph shifts as the data extends?

2 views (last 30 days)
Raffy
Raffy on 12 Jul 2013
Hey all,
I want to make a pressure vs time graph that shifts the graph over to the right as time extends. I don't want to keep the old data in view. How can I do this?
Here's the current code:
hold on
for i=1:21598 %number of data points
ylim([0 60])
plot((data.time(i)-datenum(2013,01,00)),data.P(i));
drawnow;
pause(.1);
end
Right now the code plots the data, but keeps auto sizing the graph as the number of points increase. It also gets really slow as more points are added.

Answers (3)

the cyclist
the cyclist on 12 Jul 2013
Does this help?
figure
hold on
dd = data.time - datenum(2013,01,00);
for i=1:21598 %number of data points
plot(dd(i),data.P(i));
ylim([0 60])
drawnow;
pause(.1);
end

chef13
chef13 on 8 Aug 2013
I solved plotting and then write:
xlim([i-50,i+50])
Let me know if this helps, Fabrizio.

Iain
Iain on 8 Aug 2013
a = plot(((data.time(1)-datenum(2013,01,00)),data.P(1));
for i = 1:21598
set(a,'Xdata',data.time(i)-datenum(2013,01,00)),'YData',data.P(i))
axis([desired_xmin, desired_xmin+desired_range, 0 60])
drawnow
end

Community Treasure Hunt

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

Start Hunting!