主要内容

在App Designer中显示图形

应用程序设计器图形概述

Matlab中的许多图形函数®(和matlab工具箱)具有用于指定目标轴或父对象的参数。此参数在大多数上下文中是可选的,但是当您在App Designer中调用这些函数时,必须指定此参数。原因是,在大多数情况下,Matlab默认使用GCF.GCA.用于获取操作的目标对象。但这些功能取决于Huppervisibility.父图形的属性为'在',而且Huppervisibility.App Designer数字的属性设置为“关闭”默认情况下。这意味着GCF.GCA.不要像往常一样工作。因此,省略目标轴或父对象的参数可能会产生意想不到的结果。

根据你调用的图形函数,你可能需要指定:

  • 一种Uiacxes.画布上的组件

  • 您的应用程序中的父容器

  • 您在应用程序代码中以编程方式创建的轴组件

有许多方法可以为图形功能指定目标组件。下面给出了最常见的语法的一些示例。要确定上下文中的正确目标和语法,请参阅您使用的特定图形功能的文档。

在现有轴上显示图形

在App Designer中显示图形的最常用方式是指定一个Uiacxes.对象作为图形函数目标。当你从组件库在画布上,这会产生一个Uiacxes.应用程序设计器轴对象的默认名称是app.uiadxes.。要确定或更改画布上的特定轴的名称,请选择轴组件。它的名称已列出,可以在中编辑组件浏览器

将轴指定为第一个参数

许多图形函数都有一个可选的第一个输入参数来指定目标轴对象。例如,两者阴谋函数和抓住函数以这种方式采用目标轴对象。要在画布上的一组轴上绘制两条线,请将轴对象的名称指定为您呼叫的每个函数的第一个参数。

plot(app.uiadxes,[1 2 3 4],“- r”);持有(app.uiadxes);plot(app.uiadxes,[10 9 4 7],'--b');

将轴指定为名称值参数

一些图形函数要求将目标轴对象指定为名称-值参数。例如,当你调用imshowtriplot函数中指定要显示的轴对象“父”名称-值参数。这段代码在画布上现有的一组坐标轴上显示图像:

imshow(“peppers.png”“父”,app.uiadxes);

在容器中显示图形

有些图形函数显示在容器组件中,例如图形、面板或网格布局,而不是轴对象。例如,热线图函数有一个可选的第一个参数,用于指定图表将显示的容器。

每个App Designer应用程序都有一个图形对象,默认为namedapp.uifigure.,它是组成应用主窗口的组件的容器。指定app.uifigure.作为父容器参数,用于在主应用程序窗口中显示图形。例如,在你的应用程序中创建一张热图,使用下面的语法:

h =热图(app.UIFigure,兰德(10));

控件中的容器组件,如面板、选项卡或网格布局,可进一步组织和划分接受父容器输入参数的图形组件库到画布上。属性中选择组件并查看其名称,从而确定组件的名称组件浏览器。然后,您可以在调用图形功能时将此容器指定为父件。

其他常用的以父容器作为输入的图形函数包括注解Geobbble.平行图scatterhistogramstackedplot.,WordCloud.

以编程方式创建轴

有些图形函数在特定的轴上绘制数据。例如,绘制极坐标数据的函数必须在略略对象。不像Uiacxes.对象,您可以从中添加到您的应用程序组件库,你必须添加专门的轴到你的应用程序以编程方式在您的代码中。要以编程方式创建axes对象,请创建StartupFcn在它里面,调用合适的图形函数并指定一个父容器作为目标。

在极轴上的绘图

等功能PIGRPLOT.偏振图,波尔斯电器以极轴物体为目标。通过调用函数以编程方式创建极轴略略函数。例如,要在面板中绘制极性方程,请先拖动面板组件组件库到你的画布。在应用程序的代码中,通过调用略略函数并将面板指定为父容器。然后,用你的等式绘制你的等式PIGRPLOT.功能,指定北极轴作为目标轴。

θ= 0:0.01:2 *π;ρ=罪(2 *θ)。* cosθ(2 *);罗马帝国= polaraxes (app.Panel);polarplot(罗马帝国,θ,ρ)

在地理轴上绘图

等功能地球格林geoscatter,地理信长篇图将地理轴对象作为目标。通过调用来编程创建一个地理轴地理石函数。例如,要在面板中绘制地理数据,请使用以下代码:

Latseattle = 47 + 37/60;Lonseattle =  - (122 + 20/60);gx = geoaxes(app.panel);Geoplot(GX,Latseattle,Lonseattle)

创建瓷砖图表布局

来平铺多个图表Tiledlayout.函数,在面板中创建平铺图表布局,并使用nextdile.函数。属性返回坐标轴对象nextdile.函数,并使用它指定图表或绘图的轴。

t = tiledlayout(app.panel,2,1);[x,y,z] =峰值(20)%瓷砖1ax₁= nexttile (t);冲浪(ax₁,X, Y, Z)%瓷砖2AX2 = NELTTILE(T);轮廓(Ax2,x,y,z)

使用没有目标参数的函数

一些图形功能,如千征gtext,不需要参数来指定目标。因此,必须设置Huppervisibility.App Designer图的属性'打回来''在'在调用这些函数之前。调用这些函数后,可以设置Huppervisibility.物业返回“关闭”。例如,这段代码展示了如何定义一个回调函数,该回调函数允许您使用千征函数。

函数PushButtonCallback(app,事件)app.uifigure.handlevisibility ='打回来';ginput(2)app.uifigure.handlevisibility =“关闭”;结尾

使用不支持自动调整大小的函数金宝app

默认情况下,应用程序设计师的数字是可调整大小的。这意味着当你运行一个应用程序并调整图形窗口的大小时,图形中的组件会自动调整大小并重新定位到合适的位置。但是,有些图形函数不支持自动调整大小。金宝app要在App Designer中使用这些函数,请创建一个面板来显示函数的输出并设置AutoResizeChildren小组的财产“关闭”。属性中可以设置此属性检查员选项卡组件浏览器或者在你的代码中。

例如,次要情节函数不支持自动调整大小。金宝app要在你的应用程序中使用这个函数:

  1. 控件中拖动面板组件组件库到你的画布。

  2. 设定AutoResizeChildren小组的财产“关闭”

  3. 使用父容器指定面板“父”调用时的名称-值参数次要情节。此外,指定输出参数以存储轴。

  4. 以坐标轴作为第一个输入参数调用绘图函数。

app.panel.autoresizechildren =“关闭”;AX1 =子图(1,2,1,“父”, app.Panel);ax2 =次要情节(1、2、2、“父”, app.Panel);Plot (ax1,[1 2 3 4])

其他不支持自动调整大小的常用函数包括金宝app帕累托Plotmatrix.

有关管理调整大小行为的详细信息,请参见默认自动调整行为的替代方案

不支金宝app持的功能

从R2021a开始,App Designer中不支持某些图形功能。金宝app该表列出了与应用程序构建工作流最相关的不受支持金宝app的功能。

类别 不支持金宝app
动画 电影功能不受支持。金宝app
检索和保存数据

不支持以下功能:金宝app赫格克斯特hgloadhgsave保存加载Savefigopenfig,saveas

而不是这一点saveas功能,使用exportapp.函数保存应用程序窗口的内容。要在应用程序中保存图形,请使用出口图转型功能。

用程序创建的图Uifigure.做支持金宝app保存加载Savefig,openfig功能。

公用事业公司

CLF.函数与'重置'论证和争论打印功能不受支持。金宝app

而不是这一点打印功能,使用exportapp.函数保存应用程序窗口的内容。要在应用程序中保存图形,请使用出口图转型功能。

Web应用程序

如果您使用应用程序设计器来创建部署的Web应用程序(需要MATLAB编译器™),额外的图形限制适用。

有关更多信息,请参见限制和不受支持的功能金宝app(Matlab编译器)

也可以看看

|

相关的话题