主要内容

更新

类:matlab.graphics.chartcontainer.ChartContainer
包:matlab.graphics.chartcontainer

设置属性后更新图表容器子类的实例

语法

更新(obj)

描述

更新(obj)更新表的内容在一个或多个公共财产值变化。定义这个方法更新底层图形对象的图表使用新属性值。这个方法执行在未来drawnow后执行,用户更改一个或多个属性值的图表。

输入参数

全部展开

对象的类继承matlab.graphics.chartcontainer.ChartContainer基类。

属性

文摘 真正的
受保护的 真正的

了解属性的方法,请参阅方法属性

例子

全部展开

定义一个类SmoothPlot情节一组数据使用一个蓝色的点线平滑的版本。

定义类,创建一个文件SmoothPlot.m与这些特性包含以下类定义:

  • XDataYData公共属性存储x- - -y协调原始数据行。

  • SmoothColorSmoothWidth公共属性控制平滑线的颜色和宽度。

  • OriginalLineSmoothLine私有属性存储原始和平滑的数据对象。

  • 一个设置初始化方法OriginalLineSmoothLine

  • 一个更新方法,更新情节当用户更改一个属性的值。

  • 一个createSmoothData方法计算的平滑版本YData

classdefSmoothPlot < matlab.graphics.chartcontainer.ChartContainer属性XData(:1)增加一倍=南YData(:1)增加一倍=南SmoothColor(3)双{mustBeGreaterThanOrEqual (SmoothColor, 0),mustBeLessThanOrEqual (SmoothColor, 1)}= (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,南南);(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。行Width = obj.SmoothWidth;结束函数sm = createSmoothData (obj)%计算平滑数据v = 1 (10) * 0.1;sm = conv (obj.YData v,“相同”);结束结束结束

接下来,创建一对xy向量。情节xy通过调用SmoothPlot构造函数方法,它提供的ChartContainer类。指定“XData”“YData”名称-值对参数和返回对象c

x = 1:1:100;y = 10 * sin (x / 5) + 8 * sin (10。* x + 0.5);c = SmoothPlot (“XData”,x,“YData”,y);

使用c光滑的线的颜色改为红色。

c。SmoothColor = (1 0 0);

提示

避免调用drawnow设置更新你的图类的方法。调用drawnow设置更新方法会导致多余的更新在你的图表,导致视觉闪烁和附加更新您的图表对象外,这将会对性能造成负面影响。

版本历史

介绍了R2019b