0

それぞれが長い時系列である複数のサブプロットを表示するために、(スライダーを使用して) スライディング ウィンドウを作成しようとしています。

S=['set(gca,''xlim'',get(gcbo,''value'')+[0 ' num2str(chunkDuration) '])'];
h=uicontrol('style','slider','units','normalized','position',Newpos,...
    'callback',S,'min',0,'max',xmax-chunkDuration);

書かれているように、これは一番下のプロットを動かすだけです。を設定したからだと理解していgcaます。ただし、 に変更gcfしてgcaも役に立ちません。これxlimは、その子の代わりに of の図を設定しようとするためです。

やってみると

 kids = get(gcf,'Children')
 S=['set(kids,''xlim'',get(gcbo,''value'')+[0 ' num2str(chunkDuration) '])'];

エラーが発生します:

 ??? Undefined function or variable 'kids'.
 ??? Error while evaluating uicontrol Callback

では、なぜ上記が機能しないのでしょうか。

アプローチが大幅に変更された後でも、問題は残ります。

4

1 に答える 1

1

Somewhere in your code you try to use a variable named subplot_handles. The error arises because this variable is undefined at the time you try to use it.

Update:

Is there a reason why you are saving your set commands as Strings? I suspect that its completely un-needed.

When you create your subplots try storing the handles to the axes created by the subplot objects.

ax(1) = subplot(311);
ax(2) = subplot(312);
ax(3) = subplot(313);

Later on you can set the limits for all subplots using:

set(ax, 'XLim', get(gcbo,'value') + [0  num2str(chunkDuration)] );
于 2013-01-16T03:38:34.150 に答える