メインコンテンツ

オブジェクト作成コールバックの定義

この例では、オブジェクト作成コールバックの定義方法を説明します。

line オブジェクトの LineWidth および Marker プロパティ値を指定するオブジェクト作成コールバックを定義します。

function lineCreate(src,~)
   src.LineWidth = 2;
   src.Marker = 'o';
end

ラインの CreateFcn プロパティを使用して、この関数を既定のライン作成コールバックとして割り当てます。

set(groot,'defaultLineCreateFcn',@lineCreate)

関数 groot はグラフィックス オブジェクト階層のルートを指定します。その結果、このコールバックは任意の MATLAB® セッションで作成されたすべてのラインによって取得されます。この既定値は、ラインを作成するすべてのプロット関数によって使用されます。

オブジェクトの作成コールバックは、MATLAB がそのオブジェクトを作成してすべてのプロパティ値を設定した直後に実行されます。このため、作成コールバックはプロット関数に指定されたプロパティの名前と値のペアをオーバーライドする可能性があります。以下に例を示します。

set(groot,'defaultLineCreateFcn',@lineCreate)
h = plot(1:10,'LineWidth',.5,'Marker','none')

作成コールバックは、プロット関数の実行が完了した後に実行されます。生成されるラインの LineWidth および Marker プロパティ値は、作成コールバックに指定されていたものです。

h = 

  Line  with properties:

              Color: [0 0 1]
          LineStyle: '-'
          LineWidth: 2
             Marker: 'o'
         MarkerSize: 6
    MarkerFaceColor: 'none'
              XData: [1 2 3 4 5 6 7 8 9 10]
              YData: [1 2 3 4 5 6 7 8 9 10]
              ZData: []

関連情報

コールバック関数の定義の詳細については、グラフィックス オブジェクトのコールバックの作成を参照してください。