默认属性值
属性预定义值
几乎所有图形对象都有预定义值。预定义值有两个可能的来源:
在对象前代中定义的默认值
在图形对象层次结构的根级定义的出厂值
用户可以为对象属性创建默认值,且它的优先级比出厂定义值高。以下情形,对象使用默认值:
在前代定义默认值的层次结构中创建
在前代定义默认值的层次结构中作为父对象
指定默认值
使用包含以下三部分的字符向量定义默认属性值:
'default' ObjectType PropertyName
default
单词对象类型(例如,
Line
)属性名(例如,
LineWidth
)
指定默认线条 LineWidth
的字符向量如下所示:
'defaultLineLineWidth'
使用此字符向量指定默认值。例如,要将线条 LineWidth
属性指定为 2 磅,使用以下语句:
set(groot,'defaultLineLineWidth',2)
字符向量 defaultLineLineWidth
确定此属性为线条属性。要指定图窗颜色,使用 defaultFigureColor
:
set(groot,'defaultFigureColor','b')
在层次结构中什么位置定义默认值
通常应该在根级别定义默认值,从而后续绘图函数都可以使用这些默认值。在 set
和 get
语句中使用 groot
函数指定根对象,此函数会返回根对象的句柄。
您可以在三个级别上定义默认属性值:
例如,只在根级别指定默认图窗颜色。
set(groot,'defaultFigureColor','b')
列出默认值
使用 get
可确定当前在任意给定对象级别设置了哪些默认值:
get(groot,'default')
返回在当前 MATLAB 会话中设置的所有默认值。
将属性设置为当前默认值
指定属性值为 'default'
将会让属性设置为首先遇到的为该属性定义的默认值。例如,这些语句生成绿色曲面 EdgeColor
:
set(groot,'defaultSurfaceEdgeColor','k') h = surface(peaks); set(gcf,'defaultSurfaceEdgeColor','g') set(h,'EdgeColor','default')
由于曲面的 EdgeColor
的默认值在图窗级别,MATLAB 首先遇到这个值,并使用该值代替根上定义的默认 EdgeColor
。
删除默认值
指定属性值为 'remove'
会去除用户定义的默认值。语句
set(groot,'defaultSurfaceEdgeColor','remove')
从根移除默认曲面 EdgeColor
定义。
将属性设置为出厂定义值
指定属性值为 'factory'
将会让属性设置为其出厂定义值。例如,这些语句将曲面 h
的 EdgeColor
设置为黑色(其出厂设定),无论您定义的默认定义值为何值:
set(gcf,'defaultSurfaceEdgeColor','g') h = surface(peaks); set(h,'EdgeColor','factory')
列出出厂定义属性值
您可以列出出厂值:
get(groot,'factory')
- 列出所有图形对象的出厂定义属性值get(groot,'factory
- 列出特定对象的出厂定义属性值ObjectType
')get(groot,'factory
- 列出指定属性的出厂定义值。ObjectTypePropertyName
')
保留字
将属性值设置为 default
、remove
或 factory
会得到前面部分所描述的结果。要将属性设置为这些保留字(例如,文本 String
属性设置为保留字 default
),在该保留字前加上反斜杠:
h = text('String','\default');