matlab图加上箭头和标注实例

您所在的位置:网站首页 怎么在折线图上添加标注 matlab图加上箭头和标注实例

matlab图加上箭头和标注实例

2024-07-14 16:28| 来源: 网络整理| 查看: 265

在图上加箭头的函数有annotation(),quiver(),

annotation()函数

(1) annotation(annotation_type)  % 以指定的对象类型,使用默认属性值建立注释对象。

(2) annotation(‘line’,x,y)       % 建立从(x(1), y(1))到(x(2), y(2))的线注释对象。 

(3) annotation(‘arrow’,x,y)      % 建立从(x(1), y(1))到(x(2), y(2))的箭头注释对象。

(4) annotation(‘doublearrow’,x,y)% 建立从(x(1), y(1))到(x(2), y(2))的双箭头注释对象。

(5) annotation(‘textarrow’,x,y)  % 建立从(x(1),y(1))到(x(2),y(2))的带文本框的箭头注释对象。

(6) annotation(‘textbox’,[x y w h])  % 建立文本框注释对象,左下角坐标(x,y),宽w,高h.

(7) annotation(‘ellipse’,[x y w h])  % 建立椭圆形注释对象。

(8) annotation(‘rectangle’,[x y w h])% 建立矩形注释对象。 

(9) annotation(figure_handle,…)     % 在句柄值为figure_handle的图形窗口建立注释对象。

(10) annotation(…,’PropertyName’,PropertyValue,…)  % 建立并设置注释对象的属性。

(11) anno_obj_handle = annotation(…)  % 返回注释对象的句柄值。 

annotation(‘arrow’,x,y)%建立从(x(1), y(1))到(x(2), y(2))的箭头注释对象。

如:

[html] view plain copy print ? annotation(‘arrow’,[0.3 0.2],[0.5 0.45]);   annotation('arrow',[0.3 0.2],[0.5 0.45]);

表示在坐标(0.2,0.45)(0.3,0.5)加箭头,前面两个值是横坐标,后面两个值是纵坐标。

注意:annotation对象的父对象是figure对象,上面提到的坐标x,y是标准化的坐标,即整个图形窗口(figure对象)左下角为(0,  0),右上角为(1,  1)。宽度w和高度h也都是标准化的,其取值在[0,  1]之间。

quiver()函数

(1)quiver(x,y,u,v) 该函数使用箭头来直观的显示矢量场。该调用格式表示通过在(x, y)指定的位置绘制小箭头来表示以该点为起点的向量(u,v)。 x、y、u、v的行数、列数必须对应相等。即x、y、u、v必须是同型矩阵。 需要注意的是,如果x、y不是矩阵,MATLAB会调用meshgrid函数将其扩展。然后再调用quiver函数。在这种情况下,x中元素的个数必须等于u、v的列数,y中元素个数必须等于u、v的行数(否则使用meshgrid扩展后无法满足x、y、u、v是同型矩阵,具体参见meshgrid函数)。 (2)quiver(u,v) 在x-y面上绘制向量(u,v),由于没有指定向量的起点,所以,matlab将在x-y面上均匀的取若干个点作为起点。 (3)quiver(…,scale) 自动缩放箭头大小以使它适合网格的大小,然后根据scale因子拉伸这些箭头。例如,scale = 2则使箭头的相对长度增大为原来的2倍,scale = 0.5则使箭头的长度缩短一半。scale = 0则关闭箭头大小的自动缩放。也可以在箭头绘制完成后, 点击图形窗口工具栏中的箭头按钮打开Plot Edit工具, 使用鼠标选择绘图窗口中的箭头对象, 右键快捷菜单打开对象的属性编辑器, 进而调整箭头长度、线型等。 (4)quiver(…,LineSpec) 其中LineSpec参数指定了线型、标志样式、颜色。quiver函数会把指定标志绘制在向量的起点。 (5)quiver(…,LineSpec,’filled’) 使用LineSpec指定的标志进行填充。 (6)quiver(axes_handle,…) h = quiver(…)

在卡放分布函数图上加箭头例子:

[html] view plain copy print ? x=0:0.1:50;  y1=chi2pdf(x,1);  y2=chi2pdf(x,4);  y3=chi2pdf(x,10);  y4=chi2pdf(x,20);  plot(x,y1);  hold on;  plot(x,y2);  plot(x,y3);  plot(x,y4);  axis([0 50 0 0.35]);  annotation(‘arrow’,[0.25 0.15],[0.8 0.75]);  text(8,0.3,’\fontsize{15}n=1‘);  annotation(‘arrow’,[0.3 0.2],[0.5 0.45]);  text(11,0.18,’\fontsize{15}n=4‘);  annotation(‘arrow’,[0.4 0.3],[0.35 0.30]);  text(17,0.11,’\fontsize{15}n=10‘);  annotation(‘arrow’,[0.6 0.5],[0.25 0.20]);  text(30,0.065,’\fontsize{15}n=20‘);   x=0:0.1:50; y1=chi2pdf(x,1); y2=chi2pdf(x,4); y3=chi2pdf(x,10); y4=chi2pdf(x,20); plot(x,y1); hold on; plot(x,y2); plot(x,y3); plot(x,y4); axis([0 50 0 0.35]); annotation('arrow',[0.25 0.15],[0.8 0.75]); text(8,0.3,'\fontsize{15}n=1'); annotation('arrow',[0.3 0.2],[0.5 0.45]); text(11,0.18,'\fontsize{15}n=4'); annotation('arrow',[0.4 0.3],[0.35 0.30]); text(17,0.11,'\fontsize{15}n=10'); annotation('arrow',[0.6 0.5],[0.25 0.20]); text(30,0.065,'\fontsize{15}n=20'); 结果如图:

在text()函数中,要设置显示的字体大小,要设置在前,显示的字体在后,显示的字在前的话没有效果。

test()函数示例

[html] view plain copy print ? title(‘\bf\fontname{黑体}图形的标题’);  text(0.25,0.25,’中国北京   \fontname{宋体}\fontsize{20}\color{red}中国北京’);  xlabel(‘正常\it斜体’);  ylabel(‘\rm正常\color{blue}颜色’);   title('\bf\fontname{黑体}图形的标题'); text(0.25,0.25,'中国北京 \fontname{宋体}\fontsize{20}\color{red}中国北京'); xlabel('正常\it斜体'); ylabel('\rm正常\color{blue}颜色'); 结果如图:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3