主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

チャートクラスのコンストラクターの作成

チャートをChartContainer基底クラスのサブクラスとして作成する場合,基底クラスは,チャートプロパティの設定に用いるオプションの名前と値のペアの引数を受け入れる既定のコンストラクターを提供します。たとえば,次のコマンドはConfidenceChartというクラスのインスタンスを作成します。

ConfidenceChart (“XData”, x,“YData”, y,“ConfidenceMargin”, 0.15,“颜色”(1 0 0))

カスタムコンストラクターメソッドを作成することにより,個々の引数値およびオプションの名前と値のペアの引数を受け入れるインターフェイスを提供することができます。たとえば,カスタムコンストラクターを設計してConfidenceChartの呼び出し構文を変更し,次のコマンドがいずれもチャート作成の有効な方法となるようにできます。

ConfidenceChart (x, y, 0.15) ConfidenceChart (x, y, 0.15,“颜色”(1 0 0))

コンストラクターメソッドを作成する際には,以下を行います。

  • 関数宣言で,サポート対象とする入力引数を指定する。变长度输入宗量を最後の入力引数として含め,ユーザーの指定するプロパティの名前と値のペアの引数をすべて取得します。

  • チャートオブジェクトへの他のすべての参照より前にChartContainerコンストラクターを呼び出す。

たとえば,ConfidenceChartクラスの下記のコンストラクターメソッドは,次のタスクを実行します。

  • 入力引数の数を確認し,数が3未満であればエラーを返す。

  • xy保证金の値をChartContainerコンストラクターが受け入れる名前と値のペアの引数に変換し,結果をarg游戏に保存する。

  • ユーザー指定の名前と値のペアの引数をすべてarg游戏の最後に追加する。

  • arg游戏ChartContainerコンストラクターメソッドに渡す。

方法函数obj = ConfidenceChart (x, y,边缘变长度输入宗量)检查至少三个输入如果Nargin < 3错误(没有足够的输入的);结束%将x、y和边距转换为名称-值对args = {“XData”, x,“YData”, y,“ConfidenceMargin”,边缘};%将参数与用户提供的名称-值对组合Args = [Args varargin];%调用超类构造函数方法obj@matlab.graphics.chartcontainer.ChartContainer (args {:});结束结束

例:カスタムコンストラクターをもつ信頼限界チャート

この例では,単一値の入力引数およびオプションとして名前と値のペアの引数を受け入れるカスタムコンストラクターをもったチャートの作成方法を説明します。チャートでは,ラインを,マーカーおよび周囲の信頼余裕とともにプロットします。

MATLAB®パス上にあるフォルダー内にConfidenceChart.mというプログラムファイルを作成します。以下の手順に従ってクラスを定義します。

手順 実装

ChartContainer基底クラスから派生させます。

classdefConfidenceChart < matlab.graphics.chartcontainer.ChartContainer

パブリックプロパティを定義します。

属性XData (1,:) double = NaN YData (1,:) double = NaN confencemargin (1,1) double = 0.15 marksymbol (1,:) char ='o'颜色(1、3)翻倍{mustBeGreaterThanOrEqual(颜色,0),...mustBeLessThanOrEqual(颜色,1)}= [100]结束

プライベートプロパティを定義します。

matlab.graphics.chart.primitiv . line PatchObject (1,1) matlab.graphics.primitiv . patch . properties(private,Transient,NonCopyable结束

xy保证金の値と,オプションの名前と値のペアの引数を受け入れるカスタムコンストラクターメソッドを実装します。

方法函数obj = ConfidenceChart (x, y,边缘变长度输入宗量)检查至少三个输入如果Nargin < 3错误(没有足够的输入的);结束%将x、y和边距转换为名称-值对args = {“XData”, x,“YData”, y,“ConfidenceMargin”,边缘};%将参数与用户提供的名称-值对组合。Args = [Args varargin];%调用超类构造函数方法obj@matlab.graphics.chartcontainer.ChartContainer (args {:});结束结束

设置メソッドを実装します。

方法(访问=保护)函数设置(obj)得到坐标轴ax = getAxes (obj);%创建补丁和对象obj。PatchObject =补丁(ax,南南“r”“FaceAlpha”, 0.2,...“EdgeColor”“没有”);(ax,“上”obj。LineObject =情节(ax,南南);(ax,“关闭”结束

更新メソッドを実装します。

函数更新(obj)%更新Line的XData和YDataobj.LineObject.XData = obj.XData;obj.LineObject.YData = obj.YData;%更新补丁XData和YDatax = obj.xdata;obj.patchobject.xdata = [x x(end:-1:1)];y = obj.ydata;c = obj.confidencemargin;obj.patchobject.ydata = [y + c y(end:-1:1)-c];%更新颜色obj.LineObject.Color = obj.Color;obj.PatchObject.FaceColor = obj.Color;%更新标记obj.LineObject.Marker = obj.MarkerSymbol;结束结束结束

次に,ConfidenceChartのインスタンスを作成します。x座標と y 座標、余裕の値、およびマーカー記号を指定します。

x = 0:0.2:10;y = besselj (0, x);ConfidenceChart (x, y, 0.20,“MarkerSymbol”“>”);

参考

クラス

関数

プロパティ

関連するトピック