0

我正在尝试编写一个滚动条来同时更改许多子图的 x 范围。

kids = get(gcf,'Children');
 h=uicontrol('style','slider',...
'units','normalized','position',Newpos,...
'callback',{@slide_axes,kids},'min',0,'max',xmax-chunkDuration);

Update_axes 在同一个文件中定义:

function slide_axes(h)
 set(h,'xlim',get(gcbo,'value')+[0 20000]); 

结尾

但是,我收到错误:

??? Error using plot_scroll>slide_axes
Too many input arguments.

??? Error while evaluating uicontrol Callback

我在 FEX 上读到,回调可以将两个参数传递给任何回调函数。但是,当我将签名更改为slide_axes错误slide_axes(h,evt)仍然存​​在。

4

1 回答 1

2

您传递的参数 (hevt) 是 MATLAB 默认值。如果您想向回调函数传递额外的参数,您需要在 和 之后编写h它们evt。像这样:

function slide_axes(h, evt, k)
    % k is kids.
end
于 2013-01-16T13:15:36.347 回答