主要内容

为图表类编写构造函数

的子类开发图表时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))

当你编写构造函数方法时:

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

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

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

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

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

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

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

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

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

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

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

一步 实现

源自ChartContainer基类。

classdefConfidenceChart < matlab.graphics.chartcontainer.ChartContainer

定义公共属性。

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

定义私有财产。

matlab.graphics.chart.primitiv . line PatchObject (1,1) matlab.graphics.primitiv . patch . properties(private,Transient,NonCopyable结束

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

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

实现设置方法。

方法(访问=保护)函数设置(obj)得到坐标轴ax = getAxes (obj);%创建补丁和对象obj。PatchObject =补丁(ax,南南“r”“FaceAlpha”, 0.2,...“EdgeColor”“没有”);(ax,“上”obj。LineObject =情节(ax,南南);(ax,“关闭”结束

实现更新方法。

函数更新(obj)%更新Line的XData和YDataobj.LineObject.XData = obj.XData;obj.LineObject.YData = obj.YData;%更新补丁XData和YDatax = 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”“>”);

另请参阅

功能

属性

相关的话题