Main Content

定义对象创建回调

此示例演示如何定义对象创建回调。

定义指定线条对象 LineWidthMarker 属性的对象创建回调。

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')

创建回调在绘图函数完全执行后再执行。生成线条的 LineWidthMarker 属性值是在创建回调中指定的值:

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: []

相关信息

有关定义回调函数的详细信息,请参阅Create Callbacks for Graphics Objects