用annotation函数创建标注对象。该函数的调用格式为:
annotation(lineType,x,y) 创建一个在当前图形窗口中的两个点之间延伸的线条或箭头标注对象。将lineType指定为'line'、'arrow'、'doublearrow'或 'textarrow'。将x和y分别指定为[x_begin x_end]和[y_begin y_end]形式的二元素向量。
annotation(lineType) 在点(0.3,0.3)和(0.4,0.4)之间的默认位置创建标注对象。
annotation(shapeType,dim) 在当前图形窗口中创建具有特定大小和位置的矩形、椭圆或文本框标注对象。将shapeType指定为'rectangle'、'ellipse'或'textbox'。指定dim作为[x y w h] 形式的四元素向量。x和y元素确定位置,w和h元素确定大小。
annotation(shapeType) 会在默认位置创建标注对象,以使左下角位于(0.3,0.3)且宽度和高度均为0.1。
annotation(___,Name,Value) 用于创建标注对象并将属性指定为名称-值对组参数。不同类型的标注对象支持不同属性。您可以使用上述语法中的任意输入参数组合指定属性。
annotation(container,___) 在由container指定的图形窗口、uipanel或uitab中创建标注对象,而不是在当前图形窗口中创建。
an=annotation(___) 返回标注对象。返回的对象的类型取决于第一个输入参数。创建对象之后,可使用an修改其属性。可以使用上述任意语法指定输出参数。
注意:标注对象使用标称化坐标在图形窗口中指定位置。在标称化坐标系中,不管图形窗口的大小是多少,(0,0)定义的点总是位于图形窗口的左下角,(1,1)定义的点总是位于右上角。
标注对象在隐藏坐标系中创建,该坐标系的宽度和高度与图形窗口的相同,这样,可以标准化坐标(左下角点的坐标为0,0,右上角的坐标为1,1)。在图形窗口中任意一处指定标注对象的位置。
下面的例子显示如何创建矩形标注对象和用它亮显图形窗口中的两个子图。用坐标系属性Position和TightInset确定标注矩形的位置和大小。
1.首先创建子图数组:
>> x=-2*pi:pi/12:2*pi;
>> y=x.^2;
>> subplot(2,2,1:2)
>> plot(x,y)
>> h1=subplot(223);
>> y=x.^4;
>> plot(x,y)
>> h2=subplot(224);
>> y=x.^5;
>> plot(x,y)
生成图4-6。
图4-6 建立子图坐标系并绘图
2.用坐标系的Position属性和TightInset属性确定包围坐标系标记标签和标题的标注矩形的位置和大小:
>> p1=get(h1,'Position');
>> t1=get(h1,'TightInset');
>> p2=get(h2,'Position');
>> t2=get(h2,'TightInset');
>> x1=p1(1)-t1(1); y1=p1(2)-t1(2);
>> x2=p2(1)-t2(1); y2=p2(2)-t2(2);
>> w=x2-x1+t1(1)+p2(3)+t2(3); h=p2(4)+t2(2)+t2(4);
3.创建包围下面两个子图的标注矩形,用透明的红色填充矩形:
>> annotation('rectangle',[x1,y1,w,h],...
'FaceAlpha',.2,'FaceColor','red','EdgeColor','red');
生成图4-7。
图4-7 创建矩形标注