主要内容

matlab.graphics.chartcontainer.ChartContainer类

包:matlab.graphics.chartcontainer

用于开发图表对象的基类

描述

matlab.graphics.chartcontainer.ChartContainer是一个用于定义自己的图表对象类的类。定义此基类的子类时,可以使用ChartContainer属性和方法来构建图表对象。在类定义文件的第一行指定此语法,以直接继承ChartContainer类,MyChart是对象的名称:

classdef MyChart < matlab.graphics.chartcontainer.ChartContainer

matlab.graphics.chartcontainer.ChartContainer类是一个处理类。

类属性

摘要
真正的
HandleCompatible
真正的

有关类属性的信息,请参见类属性

属性

全部展开

图表的大小和位置,不包括用于装饰的边距,如轴标和勾号。将此属性指定为形式向量[左底宽高].对象指定的单位为值单位财产。

  • —父容器的左边缘到不包括页边距的图表的左内边缘的距离。通常,父容器是图形、面板或选项卡。

  • —父容器的底边到图表(不包括页边)的内底边的距离。

  • 宽度-图表的宽度,不包括页边距。

  • 高度-图表的高度,不包括页边距。

请注意

当图表的父类是TiledChartLayout

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的
NonCopyable
真正的

图表大小和位置,包括用于装饰的边距,如轴标签和勾号。将此属性指定为形式向量[左底宽高].对象指定的单位为值单位财产。

  • —父容器的左边缘到包含页边距的图表的左外边缘的距离。通常,父容器是图形、面板或选项卡。

  • —父容器的底边到包含页边的图表的外底边的距离。

  • 宽度-图表宽度,包括页边距。

  • 高度-图表的高度,包括页边距。

请注意

当图表的父类是TiledChartLayout

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的
NonCopyable
真正的

图表的大小和位置,不包括用于装饰的边距,如轴标和勾号。将此属性指定为形式向量[左底宽高].这个性质等价于InnerPosition财产。

请注意

当图表的父类是TiledChartLayout

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的
NonCopyable
真正的

Position属性在添加、删除或更改装饰时保持常量,指定为以下值之一:

  • “outerposition”- - -OuterPosition属性在添加、删除或更改装饰(如标题或轴标签)时保持不变。如果需要任何位置调整,MATLAB®调整InnerPosition财产。

  • “innerposition”- - -InnerPosition属性在添加、删除或更改装饰(如标题或轴标签)时保持不变。如果需要任何位置调整,MATLAB调整OuterPosition财产。

请注意

当父容器为。时,设置此属性无效TiledChartLayout

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的
NonCopyable
真正的

定位单元,指定为下表中的值。若要以特定单位更改图表的位置,请设置单位属性,然后指定位置财产。如果指定单位位置属性(使用名称-值对),请务必指定单位之前位置

单位 描述
“归一化”(默认) 相对于父容器(通常是图形、面板或选项卡)进行规范化。容器的左下角映射到(0,0),右上角映射到(1,1)
“英寸” 英寸。
“厘米” 厘米。
“角色”

基于图形根对象的默认字体:

  • 字符宽度=字母的宽度x

  • 字符高度=两行文本基线之间的距离。

“点” 字体设计点。1点等于1/72英寸。
“像素”

在Windows上,像素的距离与你的系统分辨率无关®麦金塔电脑系统:

  • 在Windows系统上,一个像素是1英寸的1/96。

  • 麦金塔电脑系统,一个像素是1英寸的1/72。

在Linux上®系统,像素的大小是由系统分辨率决定的。

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的
NonCopyable
真正的

布局选项,指定为TiledChartLayoutOptions对象。当图表的实例是平铺图表布局的子图表时,此属性指定选项。如果实例不是平铺图表布局的子节点(例如,它是图形或面板的子节点),则此属性为空且没有效果。否则,您可以通过设置瓷砖TileSpan属性TiledChartLayoutOptions对象。

例如,这段代码放置图表对象c进入平铺图表布局的第三个平铺。

c.Layout.Tile = 3;

要使图表跨越多个块,请指定TileSpan属性为一个双元素向量。例如,这个图表的跨度2行和3.列的瓷砖。

c. layout . tilspan = [2 3];

请注意

控件返回的轴不支持平铺图表布局金宝appgetAxes方法。相反,您可以将图表实例放置到平铺图表布局中。

属性:

GetAccess
公共
SetAccess
公共

可见状态,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的开/关逻辑值matlab.lang.OnOffSwitchState

  • “上”—显示图表。

  • “关闭”-隐藏图表而不删除它。当图表不可见时,您仍然可以访问它的属性。

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的
GetObservable
真正的
SetObservable
真正的

图表的父容器,指定为数字面板选项卡,或TiledChartLayout对象。

属性:

GetAccess
公共
SetAccess
公共
瞬态
真正的
依赖
真正的
GetObservable
真正的
SetObservable
真正的
NonCopyable
真正的

图表对象句柄在其父对象的子列表中的可见性,指定为以下值之一:

  • “上”-图表对象句柄总是可见的。

  • “关闭”图表对象句柄在任何时候都是不可见的。此选项用于防止其他函数对图表的意外更改。若要在函数执行期间暂时隐藏句柄,请设置HandleVisibility“关闭”

  • “回调”图表对象句柄在回调函数或回调函数调用的函数中可见,但在命令行调用的函数中不可见。该选项阻止在命令窗口中访问该对象,但它允许回调函数访问它。

对象中未列出该对象孩子们属性,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数不能返回该句柄。这包括得到findobjgcagcfgconewplotclf,关闭

隐藏对象句柄仍然有效。设置根ShowHiddenHandles财产“上”列出所有的对象句柄,不管它们是什么HandleVisibility属性设置。

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的
GetObservable
真正的
SetObservable
真正的

方法

全部展开

例子

全部折叠

定义一个名为SmoothPlot它使用蓝色虚线和平滑版的线绘制一组数据。

要定义该类,请创建一个名为SmoothPlot.m包含以下具有这些特性的类定义:

  • XDataYData对象的公共属性x- - -y原始直线的坐标数据。

  • SmoothColorSmoothWidth控制平滑线条的颜色和宽度的公共属性。

  • OriginalLineSmoothLine对象的私有属性对象为原始和平滑的数据。

  • 一个设置初始化方法OriginalLineSmoothLine

  • 一个更新方法,在用户更改属性值时更新绘图。

  • 一个createSmoothData方法,计算的平滑版本YData

classdefSmoothPlot < matlab.graphics.chartcontainer.ChartContainer属性XData(: 1)增加一倍=南YData(: 1)增加一倍=南SmoothColor(3)双{mustBeGreaterThanOrEqual (SmoothColor, 0),...mustBeLessThanOrEqual (SmoothColor, 1)}=[0.9290 0.6940 0.1250]平滑宽度(1,1)的两倍= 2结束属性(Access = private,Transient, non - copyable(1,1) matlab.graphics.chart.primitive.LineSmoothLine(1,1) matlab.graphics.chart.primitive.Line结束方法(访问=保护)函数设置(obj)创建坐标轴ax = getAxes (obj);创造原始和平滑的线条obj。OriginalLine =情节(ax,南南“线型”“:”);(ax,“上”obj。SmoothLine =情节(ax,南南);(ax,“关闭”结束函数更新(obj)%更新行数据obj.OriginalLine.XData = obj.XData;obj.OriginalLine.YData = obj.YData;obj.SmoothLine.XData = obj.XData;obj.SmoothLine.YData = createSmoothData (obj);%更新线条颜色和宽度obj.SmoothLine.Color = obj.SmoothColor;obj.SmoothLine.LineWidth = obj.SmoothWidth;结束函数sm = createSmoothData (obj)%计算平滑数据v = 1 (10) * 0.1;sm = conv (obj。YData v,“相同”);结束结束结束

接下来,创建一对xy向量。情节xy通过调用SmoothPlot方法提供的构造函数ChartContainer类。指定“XData”“YData”名称-值对参数,并将对象返回为c

x = 1:1:100;Y = 10*sin(x /5) + 8*sin(10。* x + 0.5);c = SmoothPlot (“XData”, x,“YData”, y);

使用c将平滑线条的颜色改为红色。

c.SmoothColor = [1 0 0];

更多关于

全部展开

兼容性的考虑

全部展开

在R2020a中改变了行为

不建议从R2020a开始

介绍了R2019b