一、二维箭头

1.调用annotation函数绘制二维箭头annotation函数用来在当前图形窗口建立注释对象(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对象的父对象是figure对象,上面提到的坐标x,y是标准化的坐标,即整个图形窗口(figure对象)左下角为(0,  0),右上角为(1,  1)。宽度w和高度h也都是标准化的,其取值在[0,  1]之间。

【例1】根据椭圆方程

绘制椭圆曲线,并修饰图形。>> P = [3 1; 1 4];

>> r = 5;

>> [V, D] = eig(P);     % 求特征值,将椭圆化为标准方程

>> a = sqrt(r/D(1));     % 椭圆长半轴

>> b = sqrt(r/D(4));    % 椭圆短半轴

>> t = linspace(0, 2*pi, 60);    % 等间隔产生一个从0到2pi的包含60个元素的向量

>> xy = V*[a*cos(t); b*sin(t)];    % 根据椭圆的极坐标方程计算椭圆上点的坐标

>> plot(xy(1,:),xy(2,:), 'k', 'linewidth', 3);    % 绘制椭圆曲线,线宽为3,颜色为黑色

% 在当前图形窗口加入带箭头的文本标注框

>> h = annotation('textarrow',[0.606 0.65],[0.55 0.65]);

% 设置文本标注框中显示的字符串,并设字号为15

>> set(h, 'string','3x^2+2xy+4y^2 = 5', 'fontsize', 15);

>> annotation('doublearrow',[0.2 0.8],[0.85 0.85],...

'LineStyle','-','color',[1 0 0],'HeadStyle','cback3');

复制代码

【例2】绘制地球仪,并标出我们的位置% 绘制地球仪,并标出我们的位置

>> cla reset;

>> load topo;

>> [x y z] = sphere(45);

>> s = surface(x,y,z,'FaceColor','texturemap','CData',topo);

>> colormap(topomap1);

% Brighten the colormap for better annotation visibility:

>> brighten(.6)

% Create and arrange the camera and lighting for better visibility:

>> campos([1.3239  -14.4250  9.4954]);

>> camlight;

>> lighting gouraud;

>> axis off vis3d;

% Set the x- and y-coordinates of the textarrow object:

>> x = [0.7698 0.5851];

>> y = [0.3593 0.5492];

% Create the textarrow object:

>> txtar =  annotation('textarrow',x,y,'String','We are here.','FontSize',14);

复制代码

2.调用quiver函数绘制箭头

quiver函数的调用格式如下:

quiver(x,y,u,v)

quiver(u,v)

quiver(...,scale)

quiver(...,LineSpec)

quiver(...,LineSpec,'filled')

quiver(axes_handle,...)

h = quiver(...)

参数说明略,这里仅举两例。

【例3】绘制正弦曲线,并修饰图形。>> ezplot('sin(x)')

>> hold on

>> quiver(0,0,2,0,'r','filled','LineWidth',2);

>> text(2,0,'y = sin(x)')

复制代码

【例4】绘制三维曲面Z = x*exp(-(x^2+y^2)) 的等高线图和梯度场。>> [X,Y] = meshgrid(-2:.2:2);        % 产生网格数据X和Y

>> Z = X.*exp(-X.^2 - Y.^2);         % 计算网格点处曲面上的Z值

>> [DX,DY] = gradient(Z,0.2,0.2);    % 计算曲面上各点处的梯度

>> contour(X,Y,Z) ;                  % 绘制等高线

>> hold on ;                         % 开启图形保持

>> quiver(X,Y,DX,DY) ;               % 绘制梯度场

>> h = get(gca,'Children');          % 获取当前axes对象的所有子对象的句柄

>> set(h, 'Color','k');              % 设置当前axes对象的所有子对象的颜色为黑色

复制代码

3.调用text函数绘制箭头

通过设置图像窗口中文本对象属性也可绘制箭头,请看下例:

【例5】绘制正弦曲线,并修饰图形。>> ezplot('sin(x)')

>> text(3*pi/4,sin(3*pi/4),'\leftarrowsin(t) = .707','EdgeColor','red');

复制代码

二、三维箭头

1.调用quiver3函数绘制三维箭头

quiver3函数的调用格式如下:

quiver3(x,y,z,u,v,w)

quiver3(z,u,v,w)

quiver3(...,scale)

quiver3(...,LineSpec)

quiver3(...,LineSpec,'filled')

quiver3(axes_handle,...)

h = quiver3(...)

参数说明略,这里仅举两例。

【例6】绘制三维坐标轴。>> quiver3(0,0,0,1,0,0,2,'k','filled','LineWidth',2);

>> hold on

>> quiver3(0,0,0,0,1,0,2,'k','filled','LineWidth',2);

>> quiver3(0,0,0,0,0,1,2,'k','filled','LineWidth',2);

复制代码

【例7】绘制三维曲面Z = x*exp(-(x^2+y^2)) 的法线向量。>> [X,Y] = meshgrid(-2:0.25:2,-1:0.2:1);

>> Z = X.* exp(-X.^2 - Y.^2);

>> [U,V,W] = surfnorm(X,Y,Z);

>> quiver3(X,Y,Z,U,V,W,0.5);

>> hold on;

>> surf(X,Y,Z);

>> colormap hsv

>> view(-35,45)

>> axis ([-2 2 -1 1 -.6 .6])

>> hold off

复制代码

quiver 改变箭头大小maxheadsize 缩放标记位置 scale

quiver(X(P2(i)),Y(P2(i)),-(X(P2(i))-X(P1(i))),-(Y(P2(i))-Y(P1(i))),0.5,'Color','k','LineWidth',2,'maxheadsize',1.1)

matlab图上面加箭头,利用matlab如何在图形中绘制箭头相关推荐

  1. R语言使用rnorm函数生成正太分布数据、使用plot函数可视化折线图、使用arrows函数在可视化图像中绘制箭头曲线、绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头、2终点箭头,3双箭头)

    R语言使用rnorm函数生成正太分布数据.使用plot函数可视化折线图.使用arrows函数在可视化图像中绘制箭头曲线.绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头.2终点箭头,3双箭头) ...

  2. R语言ggplot2可视化在图形中添加箭头:直线箭头、弧形箭头

    R语言ggplot2可视化在图形中添加箭头:直线箭头.弧形箭头 目录 R语言ggplot2可视化在图形中添加箭头:直线箭头.弧形箭头

  3. matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]

    <利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]>由会员分享,可在线阅读,更多相关<利用Matlab绘制正弦信号的频谱图并做相关分析[共6页](6页珍藏版)>请在人 ...

  4. matlab设l创建网络,利用matlab进行简单的贝叶斯网络构建 | 学步园

    matlab的安装 第一次装matlab,装好后发现没有在桌面生成图标,还以为是最后提示的编译器没有安装.结果发现,matlab的图标在其安装的bin目录下面,进行初始化就能开始使用了 关于贝叶斯网络 ...

  5. matlab的qammod函数_利用matlab实现16QAM调制

    利用matlab实现16QAM调制 2020-12-22 一.随机信号的调制第一个示例描述以下问题: 下表描述了解决此问题的关键任务和相应的通信工具箱函数,其中选择基带16QAM作为调制制式以及加性高 ...

  6. matlab水果定位与分割,利用Matlab软件和BP神经网络快速识别水果实现分拣

    我国是水果生产与消费大国,我国水果不但品种丰富,而且以水果为原料的食品如罐头.果冻等加工产业也颇具规模.然而,在水果果料的加工过程中可能会不经意地混入诸如毛发.纤维丝.纸屑.金属.油漆等异物,从而对产 ...

  7. matlab 状态观测器 ppt,实验六利用MATLAB设计状态观测器

    实验六利用MATLAB设计状态观测器 现代控制理论第五次上机实验报告 实验六实验六利用利用 MATLABMATLAB 设计状态观测器设计状态观测器 实验目的:实验目的: 1.学习观测器设计算法: 2. ...

  8. matlab图片拼接变成白的,利用matlab实现对图片的拼接

    利用matlab实现对图片的拼接 (图像处理的课堂小作业,简单地手打代码,有问题请联系) 1.效果图 (先看效果图,后思考怎么实现) 原图: 简单拼接: 再进一步操作,加了线: 2.原理 1.matl ...

  9. matlab std函数_如何利用Matlab进行小波分析

    小波分析(wavelet analysis), 或小波转换(wavelet transform)是指用有限长或快速衰减的.称为母小波(mother wavelet)的振荡波形来表示信号.该波形被缩放和 ...

  10. matlab行星运动轨迹仿真动画,利用Matlab可视化功能实现微分方程求解行星运动轨迹...

    利用Matlab可视化功能实现微分方程求解行星运动轨迹 1.背景 在物理学璀璨的发展史上,物理学家花了很长时间研究我们头顶浩瀚的星空,试图探究星星的运行模式,以及地球自身的运动模式.其中不乏像亚里士多 ...

最新文章

  1. 半木夏低风险交易记录二
  2. mysql创建账号并赋予权限
  3. 神经计算棒 [Error 5] Toolkit Error: Stage Details Not Supported: Transpose
  4. python定义字符串数组_python数组声明
  5. python字典的建立和输出_字典的创建和使用
  6. 微信开发之JSSDK权限配置,服务器端获取签名等参数(java实现)
  7. 微软小娜关闭服务器,图文详解彻底关闭windows10系统里的小娜(Cortana)语音服务-系统操作与应用 -亦是美网络...
  8. 开源在线答题系统包含:在线考试,问卷调查,在线练题。架构为jdk7、spring4、spring-mvc4
  9. 数学建模——使用matlab神经网络工具箱训练和预测
  10. 基于Handsome主题的站点页脚美化教程
  11. STM32单片机的学习方法(方法大体适用所有开发版入门)
  12. 泰科 | 高压连接革命!CSJ高压连接器与您共赢电动汽车新时代
  13. Win10电脑没有打开蓝牙的按钮怎么办?
  14. SpringBoot单元测试断言 assertions
  15. Extjs介绍(一)
  16. Unity导入资源解决报错
  17. 从事计算机编程工作有前途吗,沙坪坝计算机编程培训有前途吗
  18. 多层嵌套break跳出指定循环
  19. 电气器件系列三十二:电缸
  20. Pdf格式怎么转化为word?这些软件堪称神器,却不为大众所知?

热门文章

  1. 云服务器搭建Java自动化测试框架
  2. HTML|颜色的设置方法
  3. 路由器密码重置(不是适用于所有有些启动顺序数字不一样)
  4. 一文揭晓:大数据是什么?大数据如何分类?又该怎么学?
  5. 速解元宇宙 / Metaverse 迷雾下的行动指南
  6. 四个月宝宝厌奶期症状?
  7. GIS正日益融入IT主流 成IT业重要部分
  8. 华为血压表WATCH D测量血压的数据可靠吗
  9. 闲鱼如何高效打造一个多业务、低侵入的搜索链路
  10. 【CSDN软件工程师能力认证学习精选】Web前端经典面试试题及答案-史上最全前端面试题(含答案)