主要内容

为图表类编写构造函数

类的子类开发图表时ChartContainer基类,基类提供了一个默认构造函数,该构造函数接受可选的名称-值对参数,用于设置图表属性。例如,此命令创建类的实例ConfidenceChart

ConfidenceChart (“XData”, x,“YData”, y,“ConfidenceMargin”, 0.15,“颜色”,[1 0 0])

通过编写自定义构造函数方法,您可以提供一个接受单独参数值和可选名称-值对参数的接口。例如,您可以设计一个自定义构造函数来更改的调用语法ConfidenceChart因此,这两个命令都是创建图表的有效方法:

ConfidenceChart (x, y, 0.15) ConfidenceChart (x, y, 0.15,“颜色”,[1 0 0])

在编写构造函数方法时:

  • 在函数声明中指定要支持的输入参数。包括变长度输入宗量作为最后一个输入参数,以捕获用户指定的任何属性名-值对参数。

  • 调用ChartContainer构造函数在对图表对象的所有其他引用之前。

的构造函数方法ConfidenceChart类执行以下任务:

  • 检查输入参数的数量,如果数量小于3则返回错误。

  • 转换xy,保证金属性的名称-值对参数ChartContainer构造函数接受结果,并将结果存储在arg游戏

  • 的末尾附加任何用户指定的名称-值对参数arg游戏

  • 通过arg游戏ChartContainer构造函数方法。

方法函数obj =自信心图表(x,y,margin,varargin)检查至少三个输入如果Nargin < 3错误(“输入不足”);结束将x、y和边距转换为名称-值对Args = {“XData”, x,“YData”, y,“ConfidenceMargin”,边缘};使用用户提供的名称-值对组合参数Args = [Args varargin];调用超类构造函数方法obj@matlab.graphics.chartcontainer.ChartContainer (args {:});结束结束

示例:自定义构造函数的置信界限图

此示例演示如何开发具有自定义构造函数的图表,该构造函数接受单值输入参数和可选的名-值对参数。该图绘制了一条带有标记的线和周围的置信幅度。

创建一个名为ConfidenceChart.m在MATLAB的文件夹中®路径。按照以下步骤定义类。

一步 实现

ChartContainer基类。

classdef自信心图表< matlab.graphics.chartcontainer.ChartContainer

定义公共属性。

属性XData (1,:) double = NaN YData (1,:) double = NaN ConfidenceMargin (1,1) double = 0.15 marksymbol (1,:) char =“o”颜色(1,3)加倍{mustBeGreaterThanOrEqual(颜色,0),...mustBeLessThanOrEqual(Color,1)} = [1 .00]结束

定义私有属性。

linobject (1,1) matlab.graphics.chart. primitie . line PatchObject (1,1) matlab.graphics. primitie . patch . properties(Access = private,Transient,NonCopyable结束

属性的自定义构造函数方法xy,保证金值和可选属性的名称-值对参数。

方法函数obj =自信心图表(x,y,margin,varargin)检查至少三个输入如果Nargin < 3错误(“输入不足”);结束将x、y和边距转换为名称-值对Args = {“XData”, x,“YData”, y,“ConfidenceMargin”,边缘};使用用户提供的名称-值对组合参数。Args = [Args varargin];调用超类构造函数方法obj@matlab.graphics.chartcontainer.ChartContainer (args {:});结束结束

实现设置方法。

方法(Access = protected)函数设置(obj)%得到坐标轴ax = getAxes(obj);创建补丁和对象obj。PatchObject = patch(ax,NaN,NaN,“r”“FaceAlpha”, 0.2,...“EdgeColor”“没有”);(ax,“上”obj。LineObject = plot(ax,NaN,NaN);(ax,“关闭”结束

实现更新方法。

函数更新(obj)更新Line的XData和YDataobj.LineObject.XData = obj.XData;obj.LineObject.YData = obj.YData;更新XData和YData补丁x = obj.XData;obj.PatchObject.XData = [x x(end:-1:1)];y = obj.YData;c = obj.ConfidenceMargin;obj.PatchObject.YData = [y+c y(end:-1:1)-c];%更新颜色obj.LineObject.Color = obj.Color;obj.PatchObject.FaceColor = obj.Color;%更新标记obj.LineObject.Marker = obj.MarkerSymbol;结束结束结束

的实例ConfidenceChart.指定x- - -y-坐标、边距值和标记符号。

X = 0:0.2:10;Y = besselj(0,x);ConfidenceChart (x, y, 0.20,“MarkerSymbol”“>”);

另请参阅

功能

属性

相关的话题

Baidu
map