这几天做毕设,用到了matlab的一些功能,先吐槽一下matlab的官方api写的是真的不好,很多东西不解释清楚。
首先对于所有的annotation函数,里面不论是维度还是大小参数,都是归一化到[0,1]之间的,也就是说,注释和所画的图用的坐标体系是不一样的。
其次,annotation所画注释的原点在整个窗口的左下方,其范围一直扩展到整个窗口的右上方
如图所示,整个最外圈的红线区域就是其[0,0]到[1,1]的范围
理解了这个,annotation的用法应该大致明白了
#########还没结束#############
还有一个迷惑的annotation叫做矩形,官方解释是这样的:
‘annotation(
在当前图窗中创建具有特定大小和位置的矩形、椭圆或文本框注释。将 shapeType
,dim
)shapeType
指定为 'rectangle'
、'ellipse'
或 'textbox'
。指定 dim
作为 [x y w h]
形式的四元素向量。x
和 y
元素确定位置,w
和 h
元素确定大小。’
现在尝试一下
scatter(X(:,1),X(:,2),'.'); annotation('rectangle',[0.5 0.5 .5 .5],'Color','red')
可以看到,[x,y,w,h]中,x,y指的是矩形左下顶点的坐标, w指width,h值height
最后椭圆的[x,y,w,h]表示的是画一个[x,y,w,h]的矩形的内接椭圆。