显示图形的应用程序设计

在App Designer中显示图形需要一个不同于通常在MATLAB中使用的工作流®命令行。一旦您理解了这个工作流和一些特殊的情况,您将知道如何调用显示几乎任何类型的绘图所需要的函数。

调用图形函数

MATLAB中的许多图形函数(和MATLAB工具箱)都有一个参数用于指定目标轴或父对象。这个参数在大多数上下文中是可选的,但是当你在App Designer中调用这些函数时,你必须指定这个参数。否则,MATLAB使用GCFGCA以获取操作的目标对象。然而,GCF无法返回应用程序设计器图形,并且GCA无法返回应用程序设计器图形中的任何轴。因此,省略这个论证可能会产生意想不到的结果。

此代码表示描绘两行的时候如何指定目标轴。第一个参数传递给情节保持app.UIAxes,这是App Designer坐标轴的默认名称。

情节(app.UIAxes,[1 2 3 4],“- r”);保持(app.UIAxes);情节(app.UIAxes,[10 9 4 7],'--b');

一些功能(例如imshowtriplot)使用一个名称 - 值对参数来指定目标对象。例如,下面的代码演示了如何调用imshow功能应用设计。

imshow(“peppers.png”“父”,app.UIAxes);
无论您指定的目标对象作为第一个参数或名称 - 值对参数取决于函数。请参阅您要使用,以确定合适的参数特定功能的文档。

使用其他类型的轴显示绘图

您可以创建使用App设计轴大多数2-d和3 d地块(一uiaxes宾语)。在R2018b开始,您可以创建其他情节,如在下表中列出。大多数这些地块都需要在你的应用不同类型的父对象和代码的其他行。他们都默认使用归一化单位。

功能 编码的细节
polarplot
polarhistogram
polarscatter
指南针

通过调用。来创建极轴polaraxes函数。指定作为第一个输入参数父容器(例如,app.Panel)。然后以极轴为第一个参数调用绘图函数。例如:

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

或者,用类似的方法创建一个指南针图:

RNG(0,“扭腰”)M = randn(20,20);Z = EIG(M);app.Axes =轴(app.Panel);罗盘(app.Axes,Z)

次要情节

按着这些次序:

  1. 设置AutoResizeChildren属性“关闭”。次要情节不支持自动调整大小行为。万博1manbetx您可以在App Designer中设置该属性检查员的标签组件浏览器或者在你的代码中。

  2. 方法指定父容器“父”调用时的名称-值对参数次要情节。另外,指定的输出参数来存储的轴。

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

例如:

app.UIFigure.AutoResizeChildren =“关闭”;AX1 =副区(1,2,1,“父”,app.UIFigure);AX2 =副区(1,2,2,“父”,app.UIFigure);情节(AX1,[1 2 3 4])曲线图(AX2,[10 9 4 7])

tiledlayout

在面板创建平铺图表布局和使用它的在创建轴nexttile函数。方法返回axes对象nexttile功能和使用它来为您的图表或图表的坐标轴。

T = tiledlayout(app.Panel,2,1);[X,Y,Z] =峰(20)%瓷砖1ax1 = nexttile(t) surf(ax1,X,Y,Z)%瓷砖2ax2 = nexttile(t)轮廓线(ax2,X,Y,Z)

帕累托
plotmatrix

按着这些次序:

  1. 设置AutoResizeChildren属性“关闭”。这些地块不支持自动调整大小行为。万博1manbetx您可以在App Designer中设置该属性检查员的标签组件浏览器或者在你的代码中。

  2. 方法来创建坐标轴函数。指定作为第一个输入参数父容器(例如,app.UIFigure)。

  3. 调用帕累托plotmatrix与轴作为第一个输入参数的功能。

例如:

app.UIFigure.AutoResizeChildren =“关闭”;AX =轴(app.UIFigure);帕累托(AX,[10 20 40 40])

geobubble
热图
parallelplot
scatterhistogram
stackedplot
wordcloud

在调用这些函数时指定父容器(例如,app.UIFigure)。

例如:

H =热图(app.UIFigure,兰特(10));

geoplot
geoscatter
geodensityplot

通过调用创建地理坐标轴geoaxes函数。指定作为第一个输入参数父容器(例如,app.UIFigure)。然后调用与轴作为第一个参数的绘图功能。例如:

latSeattle = 47 + 37/60;lonSeattle =  - (122 + 20/60);GX = geoaxes(app.UIFigure);geoplot(GX,latSeattle,lonSeattle)

不支万博1manbetx持的功能

作为R2019b的,一些图形功能在应用设计支持。万博1manbetx下表列出了相关的大多数应用程序建立工作流的功能。

类别 不支持万博1manbetx
动画
注释
  • 注释与创建注解函数。

检索和保存数据

以编程方式创建的图形uifigure做支持万博1manbetx保存加载savefig,openfig功能。

公用事业公司
功能不推荐
网格布局管理器或可滚动容器中的轴

解决方法:

  • 要解决网格布局管理器的限制,请将轴或图表放到面板中。然后将面板放入网格中。

  • 要解决的滚动容器限制,轴或图表置于与面板滚动属性设置为“关闭”。然后把面板可滚动容器。

组件
属性
  • 一些组件的属性没有在应用程序设计的支持。万博1manbetx对于特定组件支持的属性的列表万博1manbetx,请参阅其属性页设计应用程序的应用程序设计

也可以看看

|

相关的话题