主要内容

带有自定义属性显示的图表类

此示例显示了如何使用自定义属性显示的一类图表,该图表仅列出属性的子集。以下代码演示了如何超载getPropertyGroups方法的方法matlab.mixin.customdisplay班级。该示例还展示了从该图表的基本编码模式matlab.graphics.chartcontainer.chartcontainer基类。您可以使用此示例来熟悉图表开发的编码技术,也可以作为您计划开发的课程的基础。

要定义类,请将以下代码复制到编辑器中,然后将其保存为SmotePlotCustomDisplay.m在可写的文件夹中。

ClassDefSmotePlotCustomDisplay %c = smoothplotcustomdisplay('xdata',x,'ydata',y,name,value,...)%绘制X和Y中坐标的虚线,并平滑该行的%版本。您也可以指定附加名称值%参数,例如“平滑颜色”和“平滑宽”。特性XDATA(1,:) double= Nan Ydata(1,:) double= Nan SmoolColor{valtateColor}= [0.9290 0.6940 0.1250]平滑宽(1,1)双= 2结尾特性(Access =私有,瞬态,不可复制)Originalline(1,1)matlab.graphics.chart.primitive.line平滑线(1,1)matlab.graphics.chart.primitive.line结尾方法(访问=受保护)功能设置(OBJ)%得到轴ax = getaxes(obj);%创建原始线条obj.originalline =图(ax,nan,nan,'linestyle',,,,':');保持(斧头,'上')obj.smoothline =图(ax,nan,nan,'linestyle',,,,' - ',,,,...'颜色',[0.9290 0.6940 0.1250],'行宽',2);保持(斧头,'离开'结尾功能更新(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;结尾功能propgrp = getPropertyGroups(obj)如果〜isscalar(OBJ)一系列对象列表propgrp = getPropertyGroups@matlab.mixin.customdisplay(obj);别的标量对象的%列表preplist = {“平滑颜色”,,,,'xdata',,,,'ydata'};propgrp = matlab.mixin.util.propertygroup(preplist);结尾结尾功能sm = createsmoothdata(obj)%计算平滑数据v =一个(1,10)*0.1;sm = conv(obj.ydata,v,'相同的');结尾结尾结尾

保存类文件后​​,您可以创建图表的实例。当您创建图表以查看自定义显示时,请省略半隆。

x = 1:1:100;y = 10*sin(x/15)+8*sin(10*x+0.5);c = smoothplotcustomdisplay('xdata',X,'ydata',是的)
C =具有属性的SmoothPlotCustomDisplay:SmoothColor:[0.9290 0.6940 0.1250] XDATA:[1 2 3 4 5 6 7 8 9 10 11 12 11 12 13 13 14 15 16 17 18 19 20 20 21 ...]5.1309 -1.8987 12.3614 ...]使用get显示所有属性

也可以看看

课程

相关话题