主要内容

图表类变量的行数

这个例子展示了如何定义一个类的图表可以显示任意数量的行基于用户的数据的大小。图表显示尽可能多的行中的列YData矩阵。对于每一行,图表计算局部极值和显示与圆形标记的位置。下面的代码演示了如何:

  • 定义两个属性称为PlotLineArrayExtremaArray存储对象的线条和标记,分别。

  • 实现一个更新方法将替换的内容PlotLineArrayExtremaArray新对象的属性。因为这个方法执行所有的策划和配置命令,设置方法是空的。这是一个简单的方法来创建任意数量的行。更有效地学习如何创建这个图表,通过重用现有的对象,明白了图表类显示变量的行数进行了优化

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

classdefLocalExtremaChart < matlab.graphics.chartcontainer.ChartContainer% c = LocalExtremaChart (XData, X, YData, Y,名称,值,…)%的阴谋与标记一行每一列的局部极值矩阵Y。%你也可以指定其他名称参数,“MarkerColor”%和“MarkerSize”。属性XData(:1)增加一倍=南YData(::)翻倍=南MarkerColor{validatecolor}= [1 0 0]MarkerSize(1,1)的两倍= 5结束属性(=私人访问,瞬态NonCopyable) PlotLineArray(1):matlab.graphics.chart.primitive.LineExtremaArray(1):matlab.graphics.chart.primitive.Line结束方法(访问=保护)函数设置(~)结束函数更新(obj)%的轴ax = getAxes (obj);%情节和当地的极值obj。PlotLineArray =情节(ax, obj.XData, obj.YData);(ax,“上”)%复制坐标向量匹配YData的大小newx = repmat (obj.XData(:), 1,大小(obj.YData, 2));%找到本地的最小和最大空间,情节标记tfmin = islocalmin (obj.YData, 1);tfmax = islocalmax (obj.YData, 1);obj。ExtremaArray =情节(ax, newx (tfmin) obj.YData (tfmin),“o”,newx (tfmax) obj.YData (tfmax),“o”,“MarkerEdgeColor”,“没有”,“MarkerFaceColor”obj.MarkerColor,“MarkerSize”,obj.MarkerSize);(ax,“关闭”)结束结束结束

保存类文件之后,您可以创建图表的一个实例。例如:

x = linspace (0, 3);日元= cos (5 * x) / (1 + x ^ 2);y2 = cos (5 * x) / (1 + x ^ 3);y3 = sin (x) / 2;y = (y1的y2 y3);c = LocalExtremaChart (“XData”,x,“YData”,y);

改变标记大小8

c。MarkerSize = 8;

另请参阅

相关的话题