标注

MATLAB中可以通过创建标注对象对图表进行标注。可选的标注类型包括箭头、双头箭头、文本箭头、直线、椭圆、矩形和文本框等。

标注对象

Arrow对象类型表示单箭头。可以用set和get函数以及属性编辑器设置和查询标注对象的属性。使用annotation函数创建标注对象并获取它们的句柄。箭头头的可选样式如表2-1所示,父对象为Axes对象。

表2-1 箭头头的可选样式

箭头头样式字符串 图形 箭头头样式字符串 图形
none star4
plain rectangle
ellipse diamond
vback1 rose
vback2(Default) hypocycloid
vback3 astroid
cback1 deltoid
cback2
cback3

Doublearrow对象类型表示双头箭头,其属性类型与Arrow对象的基本相同,不同的是,涉及到箭头端部的属性要一分为二。例如,原来的HeadStyle属性现在变为Head1Style和Head2Style属性。

Ellipse对象类型表示椭圆标注。

Line对象类型表示直线段标注。它具有Color,LineStyle,LineWidth,X和Y等属性,分别定义直线段的颜色、线型、线宽和顶点坐标。

Rectangle对象类型表示矩形标注。

Textarrow对象类型表示文本箭头标注。

Textbox对象类型表示文本框标注。

创建标注对象

MATLAB中使用annotation函数创建标注对象。标注对象在隐藏坐标系中创建,该坐标系的宽度和高度与图形窗口的相同,这样,可以标准化坐标(左下角点的坐标为(0,0),右上角的坐标为(1,1),坐标值表示占窗口宽度或高度的百分比)。在图形窗口中任意一处指定标注对象的位置。

下面的代码绘制正弦曲线,并添加各种类型的标注。

code.matlab
x=-4:.2:4;
y=sin(x);
plot(x,y,'LineWidth',1.5)
ylim([-1.5 1.5])
%带箭头的文本标注
annotation('textarrow',[0.4 0.5],[0.6 0.5],'string','y=sin(x)')
%椭圆形标注
annotation('ellipse',[0.55 0.7 0.25 0.15])
%矩形标注
annotation('rectangle',[0.25 0.2 0.25 0.15],'FaceColor','y','FaceAlpha',0.5)
%文本框标注
annotation('textbox',[0.6 0.2 0.15 0.12],'String',{'最大值','最小值'})
xlabel('X')
ylabel('Y')
box on

运行代码生成图2-26。

Document Image
\[\]

图2-26 给图表添加标注