MATLAB中的APPdesigner绘制多图问题解析?与逻辑值转成十进制
在matlab APPdesigner中绘图可以用UIAxes组件进行绘图,但是当想多张图时,只能提前绘制图像区域不方便。下面是几种办法:
为了操作可以添加Panl组件,方便操作。
1、当是要求的几个图像大小都是相同时刻采用函数:
tiledlayout
创建分块图布局
tiledlayout(m,n)
tiledlayout('flow')
tiledlayout(___,Name,Value)
tiledlayout(parent,___)
t = tiledlayout(___)
这里的Parent可以是:
parent
— 父容器
Figure
对象 | Panel
对象 | Tab
对象 | TiledChartLayout
对象
2、当要求使用各个图像不一致时:
uiaxes函数
为 App 中的绘图创建 UI 坐标区
ax = uiaxes
ax = uiaxes(Name,Value)
ax = uiaxes(parent)
ax = uiaxes(parent,Name,Value)
parent
— 父容器
Figure
对象 | Panel
对象 | Tab
对象 | GridLayout
对象 | TiledChartLayout
对象
首先加入一个uiaxes对象,最大的position大小,然后根据这个大小进行绘制plot。
%%下面是逻辑值转成十进制数的语法;
TimeButtonValue = app.TimeButton.Value;
SpectrumButtonvalue = app.SpectrumButton.Value;
SpectrogramButtonValue = app.SpectrogramButton.Value;
PannerButtonValue = app.PannerButton.Value;
logicalArray = [TimeButtonValue,SpectrumButtonvalue,SpectrogramButtonValue,PannerButtonValue];
flagnum = bin2dec(arrayfun(@(x) num2str(x), logicalArray));
要下班了。下次说。。。。