我在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')
在此之后我可以添加尽可能多的子图,但面板并没有像我希望的那样伸展。
如果有人能提出建议,我非常感激。
答案 0 :(得分:0)
任何有同样问题的人,请查看此(2011)博文: https://blogs.mathworks.com/pick/2011/11/23/scrolling-figures-guis/
事实证明,用户提交的功能可以提供此功能,我们需要做的就是下载.m文件,将其包含在Matlab路径中,将代码中的子函数调用更改为scrollsubplot。
不知道这是否会长期运作,这样的功能可能应该由matlab本身包含在内。