Plotting subplot in real time Problem

14 ビュー (過去 30 日間)
Lok Yiu To
Lok Yiu To 2017 年 5 月 5 日
コメント済み: OMARI TAHAR 2020 年 5 月 27 日
I am interfacing Arduino with MATLAB through serial plot. I have an accelerometer that input three values each time into the serial plot. I am trying to plot the 3 channel data into 3 separate subplot in real time. For some reason, only my last subplot will continuous scroll and the first two will stay at one scroll window.
if(scrollWidth > 0)
set(plotgraph1,'XData',time(time > time(count)-scrollWidth),...
'YData',datax(time > time(count)-scrollWidth));
xlim([time(count)-scrollWidth time(count)]);
set(plotGraph2,'XData',time(time > time(count)-scrollWidth),...
'YData',datay(time > time(count)-scrollWidth));
xlim([time(count)-scrollWidth time(count)]);
set(plotGraph3,'XData',time(time > time(count)-scrollWidth),...
'YData',dataz(time > time(count)-scrollWidth));
xlim([time(count)-scrollWidth time(count)]);
end

採用された回答

Jan
Jan 2017 年 5 月 5 日
xlim([time(count)-scrollWidth time(count)])
This updates the X-limits of the current axes. If you only set the XData of an existing line object (created by a plot command), the current axes does not change. Therefore define the affected axes explicitely:
xlimit = [time(count)-scrollWidth, time(count)];
set(axes1, 'xlim', xlimit);
and the same for the other two axes also - assuming that axes1 is defined accordingly. You can set all three axes with one command also:
set([axes1, axes2, axes3], 'xlim', xlimit);
  4 件のコメント
Jan
Jan 2017 年 5 月 8 日
No, this will not work. But you can create two line objects in the same axes:
AxesH = axes('NextPlot', 'add');
plot1graph = plot(AxesH, ?, ?);
plot2graph = plot(AxesH, ?, ?);
And later:
set(plotgraph1,'XData',time(time > time(count)-scrollWidth),...
'YData',datax(time > time(count)-scrollWidth));
set(plotgraph2, 'XData',time(time > time(count)-scrollWidth),...
'YData',datay(time > time(count)-scrollWidth));
OMARI TAHAR
OMARI TAHAR 2020 年 5 月 27 日
Thank you so much!!! :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Performance についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by