主要内容

启用设置坐标轴属性的便利函数

类的子类开发图表时ChartContainer类,考虑启用一些MATLAB®在坐标轴上设置属性的方便函数。例如,您可以设计您的类来支持标题函数。通过启用便利函数,您可以提供与MATLAB绘图函数一致的用户体验。

对不同类型属性的支持

启用便利函数的方式取决于该函数控制的是非计算属性还是计算属性。该表列出了您可以支持的便利函数。

方便的功能 轴相关属性 类型的属性

标题副标题

标题副标题

Noncomputed

包含ylabelzlabel

包含YLabel,ZLabel分别

Noncomputed

xlimylimzlim

XLimYLim,ZLim分别

计算

xticksytickszticks

XTickYTick,ZTick分别

计算

xticklabelsyticklabelszticklabels

XTickLabelYTickLabel,ZTickLabel分别

计算

视图

视图

计算

为非计算属性启用函数

非计算属性是固定值。除非用户或您的代码显式更改它们,否则它们不会更改。

若要为非计算属性启用方便函数,请在类中定义一个公共属性,该属性存储想要控制的axes属性的值。然后定义一个公共方法,该方法具有与您希望支持的便利函数相同的名称并支持相同的调用语法。向设置属性值的方法中添加一行代码。例如,考虑一个类,它的公共属性称为TitleText用于存储标题。下面的代码显示标题方法。

函数标题(obj, txt) obj。TitleText =三种;结束

对象中添加一行代码更新方法,调用MATLAB方便函数设置相应的轴属性。

标题(getAxes (obj) obj.TitleText);

在执行上述步骤并保存类文件之后,可以创建图表的实例并调用标题函数显示标题。这样做会触发这个调用序列:

  1. 标题方法上的TitleText属性,该属性标记要更新的图表。

  2. 下次drawnow执行,更新方法执行并调用标题函数在坐标轴上。

  3. 标题功能更新标题坐标轴上的属性。

启用计算属性的函数

计算属性由坐标轴控制。这些轴根据轴的内容和底层数据重新计算它们的值。

若要为计算属性启用方便函数,请定义具有与要启用的方便函数相同名称和调用语法的方法。在该方法中,调用便利函数并将坐标轴指定为第一个参数。例如,启用xlim函数,定义一个方法调用xlim在你的类中。自xlim函数接受数量可变的输入参数,则必须指定变长度输入宗量作为第二个输入参数。的xlim函数还支持数量不定的输出参数,因此必须指定[varargout {1: nargout}]为了支持这些论点。

函数varargout = xlim(obj,varargin) ax = getAxes(obj);[varargout {1: nargout}] = xlim (ax,变长度输入宗量{:});结束

要提供对图表上相应属性值的访问,请在类上定义两个相关属性。第一个属性提供对便利函数控制的值的访问。另一个属性提供对mode属性的访问,该属性指示如何控制第一个属性。mode属性的值可以为“汽车”“手动”.将这些属性定义为依赖的,以便图表不存储值。坐标轴控制和存储这些值。例如,提供对XLim而且XLimMode坐标轴上的属性,定义一对相关的属性称为XLimits而且XLimitsMode

属性(依赖)XLimits双(1、2)XLimitsMode{mustBeMember (XLimitsMode{“自动”、“手动”})}结束

接下来,定义而且得到方法用于每个依赖属性。在每个方法中,设置相应的axes属性。下面的代码显示方法和得到方法XLimits而且XLimitsMode属性。

函数set.XLimits(obj,xlm) ax = getAxes(obj);斧子。XLim = xlm;结束函数xlm = get.XLimits(obj) ax = getAxes(obj);xlm = ax.XLim;结束函数set.XLimitsMode(obj,xlmmode) ax = getAxes(obj);斧子。XLimMode = xlmmode;结束函数xlm = get.XLimitsMode(obj) ax = getAxes(obj);xlm = ax.XLimMode;结束

在执行上述步骤并保存类文件之后,可以创建图表的实例并调用xlim函数来更改x-轴在图表中的限制。的xlim方法执行,该方法又调用xlim函数来更新XLim坐标轴上的属性。

请注意

默认情况下,当用户调用xlim而且ylim功能。若要提供在用户保存和加载图表时保存这些更改的支持,请参见保存和加载图表类的实例

支持的图表类标题xlim,ylim功能

方法定义的图表类标题xlim,ylim功能。下面的代码演示了如何:

  • 定义一个TitleText属性并实现标题方法,以便图表的实例支持标题函数。

  • 实现xlim而且ylim方法,以便图表的实例支持xlim而且ylim功能。

  • 属性定义允许用户获取和设置x- - -y设在限制。

  • 结合酒吧而且ErrorBar对象合并到单个图表中。

要定义类,请将此代码复制到编辑器中并将其与名称一起保存BarErrorBarChart.m在可写文件夹中。

classdefBarErrorBarChart < matlab.graphics.chartcontainer.ChartContainer属性XData(: 1)增加一倍=南YData(: 1)增加一倍=南EData(: 1)增加一倍=南TitleText(::) char结束属性(依赖)提供属性来支持设置和获取XLimits双(1、2)XLimitsMode{mustBeMember (XLimitsMode{“自动”、“手动”})}YLimits双(1、2)YLimitsMode{mustBeMember (YLimitsMode{“自动”、“手动”})}结束属性(Access = private) BarObject(1,1) matlab.graphics.chart.primitive.BarErrorBarObject(1,1) matlab.graphics.chart.primitive.ErrorBar结束方法(访问=保护)函数setup(obj) ax = getAxes(obj);obj。酒吧Object = bar(ax,NaN,NaN); hold(ax,“上”obj。ErrorBarObject = errorbar (ax,南南南);obj.ErrorBarObject.LineStyle =“没有”;obj.ErrorBarObject.LineWidth = 2;obj.ErrorBarObject.Color = [0.6 0.7 1];(ax,“关闭”);结束函数更新(obj)%更新栏和错误栏XData和YDataobj.BarObject.XData = obj.XData;obj.BarObject.YData = obj.YData;obj.ErrorBarObject.XData = obj.XData;obj.ErrorBarObject.YData = obj.YData;%更新ErrorBar增量值obj.ErrorBarObject.YNegativeDelta = obj.EData;obj.ErrorBarObject.YPositiveDelta = obj.EData;%更新轴标题ax = getAxes (obj);标题(ax, obj.TitleText);结束结束方法% xlim方法函数varargout = xlim(obj,varargin) ax = getAxes(obj);[varargout {1: nargout}] = xlim (ax,变长度输入宗量{:});结束% ylim方法函数varargout = ylim(obj,varargin) ax = getAxes(obj);[varargout {1: nargout}] = ylim (ax,变长度输入宗量{:});结束%标题的方法函数标题(obj, txt) obj。TitleText =三种;结束XLimits和XLimitsMode的% set和get方法函数set.XLimits(obj,xlm) ax = getAxes(obj);斧子。XLim = xlm;结束函数xlm = get.XLimits(obj) ax = getAxes(obj);xlm = ax.XLim;结束函数set.XLimitsMode(obj,xlmmode) ax = getAxes(obj);斧子。XLimMode = xlmmode;结束函数xlm = get.XLimitsMode(obj) ax = getAxes(obj);xlm = ax.XLimMode;结束YLimits和YLimitsMode的% set和get方法函数set.YLimits(obj,ylm) ax = getAxes(obj);斧子。YLim = ylm;结束函数ylm = get.YLimits(obj) ax = getAxes(obj);ylm = ax.YLim;结束函数set.YLimitsMode(obj,ylmmode) ax = getAxes(obj);斧子。YLimMode = ylmmode;结束函数ylm = get.YLimitsMode(obj) ax = getAxes(obj);ylm = ax.YLimMode;结束结束结束

在保存BarErrorBarChart.m,创建图表的实例。

BarErrorBarChart (“XData”,[1 2 3 4],“YData”,[11 22 31 41],“EData”,[2 2 2 2]);

方法指定标题标题函数。然后通过调用缩放到最后三个栏xlim函数。

标题(“三大因素”) xlim (1.5 [5])

另请参阅

功能

属性

相关的话题

Baidu
map