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));

要下班了。下次说。。。。

你可能感兴趣的:(Matlab,matlab,开发语言)