このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
チャートを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未満であればエラーを返す。
x
、y
、保证金
の値を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
というプログラムファイルを作成します。以下の手順に従ってクラスを定義します。
手順 | 実装 |
---|---|
|
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结束
|
|
方法函数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”,“>”);