主要内容

图表显示类自定义属性

这个例子显示了如何定义一个类图的一个自定义属性列表只显示属性的一个子集。下面的代码演示了如何过载getPropertyGroups的方法matlab.mixin.CustomDisplay类。示例还演示了基本的编码模式源自的图表matlab.graphics.chartcontainer.ChartContainer基类。你可以用这个例子来熟悉图的编码技术的发展,或作为一个类的基础你计划来培养。

定义类,将下面的代码复制到编辑器并保存它的名字SmoothPlotCustomDisplay.m在一个可写的文件夹。

classdefSmoothPlotCustomDisplay < matlab.graphics.chartcontainer.ChartContainer% c = SmoothPlotCustomDisplay (XData, X, YData, Y,名称,值,…)%情节虚线X和Y坐标的平滑%的版本。您还可以指定其他名称%的参数,如“SmoothColor”和“SmoothWidth”。属性XData(:1)增加一倍=南YData(:1)增加一倍=南SmoothColor{validatecolor}= (0.9290 0.6940 0.1250)SmoothWidth(1,1)的两倍= 2结束属性(=私人访问,瞬态NonCopyable) OriginalLine(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,南南“线型”,“- - -”,“颜色”(0.9290 0.6940 0.1250),“线宽”2);(ax,“关闭”)结束函数更新(obj)%更新行数据obj.OriginalLine。XData= obj.XData; obj.OriginalLine.YData = obj.YData; obj.SmoothLine.XData = obj.XData; obj.SmoothLine.YData = createSmoothData(obj);%更新线颜色和宽度obj.SmoothLine。颜色= obj.SmoothColor;obj.SmoothLine。线宽= obj.SmoothWidth;结束函数propgrp = getPropertyGroups (obj)如果~ isscalar (obj)%的数组对象列表propgrp = getPropertyGroups@matlab.mixin.CustomDisplay (obj);其他的%为标量对象列表propList = {“SmoothColor”,“XData”,“YData”};propgrp = matlab.mixin.util.PropertyGroup (propList);结束结束函数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”,y)
c = SmoothPlotCustomDisplay属性:SmoothColor: [0.9290 0.6940 0.1250] XData: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21…]YData: [-6.3714 9.3040 -4.3583 5.3084 5.1309 -1.8987 12.3614……使用能显示所有属性

另请参阅

相关的话题

Baidu
map