matlab动态滚动数字

时间:2018-04-22 14:05:23

标签: matlab

我在Matlab中为一个数字对象添加了许多时间序列,并将它们绘制为图形上的子图,将它们一个接一个地显示在一起。可以有一个动态数量的时间序列图,我事先不能知道将会有多少。

不幸的是,似乎正在发生的事情是,在添加新的子图时,数字图不会扩展到包含滚动条。是否有一个特定的旗帜,我没有看到包括这个并停止我的数字对象中的情节变得越来越小?

举个例子:

%Maximise the figure window to full screen
    f = figure;
    f=gcf;
    f.Units='normalized';
    f.OuterPosition=[0 0 1 1];

    %Add a panel to the figure, we'll add subplots to this
    p = uipanel('Parent',f,'BorderType','none'); 
    p.Title = 'Examples'; 
    p.TitlePosition = 'centertop'; 
    p.FontSize = 12;
    p.FontWeight = 'bold';

    %Add a timeseries subplot to the panel
    subplot((length(motifIndexAfterThresholds)*2)+1,1,1, 'Parent',p)
    ts0 = timeseries(E4_hrX(startIndex:endIndex),'Name','Parent Motif');
    plot(ts0)
    title('Parent')

在此之后我可以添加尽可能多的子图,但面板并没有像我希望的那样伸展。

如果有人能提出建议,我非常感激。

1 个答案:

答案 0 :(得分:0)

任何有同样问题的人,请查看此(2011)博文: https://blogs.mathworks.com/pick/2011/11/23/scrolling-figures-guis/

事实证明,用户提交的功能可以提供此功能,我们需要做的就是下载.m文件,将其包含在Matlab路径中,将代码中的子函数调用更改为scrollsubplot。

不知道这是否会长期运作,这样的功能可能应该由matlab本身包含在内。