主要内容

显示图形应用程序设计师

应用程序设计图形概述

许多在MATLAB的图形功能®(和MATLAB工具箱)有一个参数用于指定目标轴或父对象。大部分情况下,这个参数是可选的,但是当你调用这些函数在程序设计师,你必须指定这个参数。原因是,在大多数情况下,使用MATLAB违约gcfgca函数来得到一个操作的目标对象。但这些函数依赖HandleVisibility父图的属性“上”,HandleVisibility属性的数据设置为应用程序设计师“关闭”默认情况下。这意味着gcfgca不正常工作。因此,省略的参数目标轴或父对象可以产生意想不到的结果。

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

  • 一个UIAxes组件在画布上

  • 你的应用程序的一个父容器

  • 一个轴组件,你的应用程序以编程方式创建代码

有许多方法来指定目标组件的图形功能。下面给出一些例子最常见的语法。确定正确的目标在你的上下文和语法,看到您使用的特定的图形功能的文档。

在现有轴显示图形

最常见的方式在应用程序中显示图形设计师是指定一个UIAxes对象应用程序设计师画布上的图形功能的目标。当你拖一个轴组件的组件库到画布上,这将创建一个UIAxes对象在你的应用程序。应用程序设计师坐标轴对象的缺省名称app.UIAxes。决定或改变一个特定轴的名字在你的画布,选择轴组件。它的名字是上市,可以编辑的浏览器组件

指定轴作为第一个参数

许多图形功能有一个可选的第一个输入参数指定目标轴对象。例如,两个情节函数和持有函数把一个目标轴对象。绘制在画布上两条线的轴,轴对象的名称指定为每个函数调用的第一个参数。

情节(应用程序。UIAxes,[1 2 3 4],“- r”);持有(app.UIAxes);情节(应用程序。UIAxes,[10 9 4 7],“——b”);

指定轴作为名称的参数

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

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

显示图形容器

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

每一个应用设计师应用都有图对象,默认命名app.UIFigure,这是一个容器的组件构成的主应用程序窗口。指定app.UIFigure作为父容器参数图形显示在主应用程序窗口。例如,在应用程序中创建一个热点图,使用这种语法:

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

进一步组织和划分图形,把一个父容器的输入的参数,将一个容器组件如面板、选项卡,或网格布局组件库到画布上。确定组件的名称通过选择和查看它的名字浏览器组件。然后你就可以指定这个容器作为父当你调用图形函数。

其他常用的图形函数,将一个父容器作为输入包括注释,geobubble,parallelplot,scatterhistogram,stackedplot,wordcloud

以编程方式创建轴

一些图形函数图数据专业轴。例如,函数,情节在极地数据必须这样做PolarAxes对象。不像UIAxes对象,您可以添加到您的应用程序的组件库,你必须专业轴添加到您的应用程序以编程方式在您的代码中。以编程方式创建一个坐标轴对象,创建一个StartupFcn为您的应用程序回调。,调用合适的图形功能和指定一个父容器应用程序作为目标。

情节上极轴

等功能polarplot,polarhistogram,polarscatter极轴对象作为目标。以编程方式创建一个极轴通过调用polaraxes函数。例如,先画一个极坐标方程在一个面板中,拖的面板组件组件库到你的画布。在你的应用程序的代码,创建极坐标轴对象通过调用polaraxes功能和为父容器指定面板。然后,绘制你的方程polarplot函数,指定极轴作为目标轴。

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

情节上地理轴

等功能geoplot,geoscatter,geodensityplot地理轴对象作为目标。以编程方式创建一个地理轴通过调用geoaxes函数。例如,绘制地理数据在一个面板中,使用以下代码:

latSeattle = 47 + 37/60;lonSeattle = (122 + 20/60);gx = geoaxes (app.Panel);geoplot (gx latSeattle lonSeattle)

创建平铺图布局

瓷砖多个图表使用tiledlayout函数创建一个平铺图布局面板,以编程方式创建轴使用nexttile函数。返回的坐标轴对象nexttile功能和使用它来指定轴的图表或情节。

t = tiledlayout (app.Panel 2 1);[X, Y, Z] =山峰(20)% 1瓦ax₁= nexttile (t);冲浪(ax₁, X, Y, Z)%瓷砖2ax2 = nexttile (t);轮廓(ax2 X, Y, Z)

使用功能没有目标参数

一些图形功能,例如ginputgtext,没有一个参数用于指定一个目标。因此,你必须设置HandleVisibility应用程序设计师图的属性“回调”“上”之前调用这些函数。在调用这些函数之后,您可以设置HandleVisibility属性回“关闭”。例如,这个代码显示了如何定义一个回调,允许您确定使用的两个点的坐标ginput函数。

函数pushButtonCallback app.UIFigure(应用程序、事件)。HandleVisibility =“回调”;ginput app.UIFigure (2)。HandleVisibility =“关闭”;结束

使用不支持自动调整的功能万博1manbetx

默认应用程序设计师数据是可调整大小的。这意味着当您运行一个应用程序和调整图窗口中,组件图的自动调整大小和位置,以适应。然而,一些图形功能不支持自动调整。万博1manbetx使用这些函数在设计器应用程序,创建一个面板中显示的输出功能和设置AutoResizeChildren属性面板“关闭”。你可以设置这个属性面板选项卡的浏览器组件或在你的代码。

例如,次要情节功能不支持自动调整。万博1manbetx在自己的应用程序中使用这个函数:

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

  2. 设置AutoResizeChildren属性面板“关闭”

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

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

app.Panel。一个utoResizeChildren =“关闭”;ax₁=次要情节(1、2、1,“父”,app.Panel);ax2 =次要情节(1、2、2、“父”,app.Panel);情节(ax₁,[1 2 3 4])情节(ax2 [10 9 4 7])

其他常用的功能,不支持自动调整包括万博1manbetx帕累托plotmatrix

管理调整行为的更多信息,请参阅选择默认的自动调整大小的行为

不支万博1manbetx持的功能

一些图形功能不支持应用程序设计师。万博1manbetx此表列出了不支持的功能,是最相关的应用程序构建万博1manbetx工作流。

类别 不支持万博1manbetx
检索和保存数据

不支持这些功能:万博1manbetxhgexport,hgload,hgsave,保存,负载,savefig,openfig,saveas,打印

而不是saveas打印功能,使用exportapp函数来保存应用程序窗口的内容。块保存在一个应用程序使用exportgraphicscopygraphics功能。

数据以编程方式创建uifigure做支持万博1manbetx保存,负载,savefig,openfig功能。

网络应用程序

如果您使用的是应用程序设计者创建一个web应用程序(部署要求MATLAB编译器™),额外的图形应用局限性。

有关更多信息,请参见Web应用程序的限制和不支持的功能万博1manbetx(MATLAB编译器)

另请参阅

|

相关的话题