下面创建一个最简单的面积图,它要求输入数据只能是顶点位置的横坐标矢量和纵坐标矢量,不能是矩阵。但是它可以显示顶点坐标。
首先创建一个M文件myarea.m,代码如下所示:
code.matlab
function myarea(x,y,label)
len=length(x);
miny=min(y);
verts(1,1)=x(1);
verts(1,2)=miny-1;
for i=1:len
verts(i+1,1)=x(i);
verts(i+1,2)=y(i);
end
verts(len+2,1)=x(len);
verts(len+2,2)=miny-1;
faces=[1:len+2];
patch('Faces',faces,'Vertices',verts,'FaceColor','g');
if label==1
for i=1:len
text(x(i),y(i),['(',num2str(x(i)),',',num2str(y(i)),')']);
end
end
axis auto
然后在命令窗口中键入下面的命令行,绘制一个没有顶点标注的面积图和一个有顶点标注的面积图。
code.matlab
>> x=[1 2 3 4];
>> y=[10 5 20 13];
>> myarea(x,y,0);
>> figure;myarea(x,y,1);
生成图7-2和图7-3。
\[\]
图7-2 创建面积图 图7-3 给面积图添加标注