Matlab绘制箭头(annotation 、quiver、​quiver3)

打印 上一主题 下一主题

主题 912|帖子 912|积分 2736

本文章开始讲述基于Matlab绘制箭头,主要包括一下函数:

  • annotation :annotation(lineType,x,y) 创建一个在当前图窗中的两个点之间延伸的线条或箭头解释。将 lineType 指定为 ‘line’、‘arrow’、‘doublearrow’ 或 ‘textarrow’。将 x 和 y 分别指定为 [x_begin x_end] 和 [y_begin y_end] 形式的二元素向量。
  • quiver:quiver(X,Y,U,V) 在由 X 和 Y 指定的笛卡尔坐标上绘制具有定向分量 U 和 V 的箭头。比方,第一个箭头源于点 X(1) 和 Y(1),按 U(1) 水平延伸,按 V(1) 垂直延伸。默认情况下,quiver 函数缩放箭头长度,使其不重叠。
  • quiver3:quiver3(X,Y,Z,U,V,W) 在由 X、Y 和 Z 指定的笛卡尔坐标处,绘制具有定向分量 U、V 和 W 的箭头。比方,第一个箭头源于点 X(1)、Y(1) 和 Z(1),根据 U(1) 在 x 轴方向延伸,根据 V(1) 在 y 轴方向延伸,并根据 W(1) 在 z 轴方向延伸。默认情况下,quiver3 函数缩放箭头长度,使其不重叠。
✦ 二维箭头

  • 调解箭头的巨细、颜色和线型
    使用 annotation 和 quiver 函数时,可以设置箭头的颜色、线型、头部巨细等参数
  1. figure;
  2. % 使用 annotation 绘制箭头
  3. ah1 = annotation('arrow', [0.2, 0.8], [0.3, 0.7]);hold on
  4. ah1.Color = [0, 0.5, 0.8];        % 设置箭头颜色
  5. ah1.LineWidth = 2;                % 设置箭头线宽
  6. ah1.HeadLength = 10;              % 设置箭头头部长度
  7. ah1.HeadWidth = 10;               % 设置箭头头部宽度
  8. ah1.LineStyle = '--';             % 设置箭头线型
  9. ah2 = annotation('arrow', [0.3, 0.9], [0.3, 0.7]);hold on
  10. ah2.Color = [0, 1, 0.8];        % 设置箭头颜色
  11. ah2.LineWidth = 2;                % 设置箭头线宽
  12. ah2.HeadLength = 10;              % 设置箭头头部长度
  13. ah2.HeadWidth = 10;               % 设置箭头头部宽度
  14. ah2.LineStyle = '-';             % 设置箭头线型
  15. hold off;
  16. set(gca,'FontSize',15,'FontName','Times New Roman');
复制代码
结果:

2. 双向箭头
可以使用 doublearrow 范例在 annotation 中创建双向箭头。
  1. figure;
  2. hold on;
  3. % 使用 annotation 绘制双向箭头
  4. annotation('doublearrow', [0.2, 0.8], [0.5, 0.5], 'Color', [0, 0, 0], 'LineWidth', 1.5);
  5. hold off;
  6. box on
  7. set(gca,'FontSize',15,'FontName','Times New Roman');
复制代码
结果:

3. 可以使用 doublearrow 范例在 annotation 中创建双向箭头。
使用 quiver 绘制多个箭头(用于矢量场或风场图)
quiver 函数可以用来在图中绘制多个箭头,这对于表现矢量场非常有用。
  1. figure;
  2. [X, Y] = meshgrid(1:12, 1:12);
  3. U = cos(X); % X 方向上的矢量
  4. V = sin(Y); % Y 方向上的矢量
  5. quiver(X, Y, U, V, 'LineWidth', 1, 'MaxHeadSize', 0.5, 'Color', [0, 0.5, 0.5]);
  6. box on
  7. set(gca,'FontSize',15,'FontName','Times New Roman');
复制代码
结果:

4. 使用 textarrow 增长带文本的箭头
在图形上标记特定点或趋势时,可以使用 textarrow 将文本和箭头组合起来。
  1. figure;
  2. % 使用 annotation 绘制带文本的箭头
  3. th = annotation('textarrow', [0.4, 0.7], [0.4, 0.6], 'String', 'Important Point');
  4. th.FontSize = 12;               % 设置文本大小
  5. th.Color = [0.2, 0.2, 0.8];     % 设置箭头颜色
  6. hold off;
  7. box on
  8. set(gca,'FontSize',15,'FontName','Times New Roman');
复制代码
结果:

✦ 三维箭头
  1. % 创建一个新的图形窗口
  2. figure;
  3. hold on;
  4. % 设置坐标轴范围
  5. axis([-5 5 -5 5 -5 5]);
  6. % 设置三维视角
  7. view(3);  % 设置为三维视角,显示立体效果
  8. % 添加标签和标题
  9. xlabel('X');
  10. ylabel('Y');
  11. zlabel('Z');
  12. title('Multiple 3D Arrows with Different Styles');
  13. % 启动网格
  14. grid on;
  15. % 第一种箭头样式: 红色,线宽2,头部大小1
  16. quiver3(0, 0, 0, 2, 3, 1, 'Color', 'r', 'LineWidth', 2, 'MaxHeadSize', 1);
  17. % 第二种箭头样式: 蓝色,线宽1,头部大小0.5
  18. quiver3(1, 1, 1, -2, 1, 0, 'Color', 'b', 'LineWidth', 1, 'MaxHeadSize', 0.5);
  19. % 第三种箭头样式: 绿色,线宽1.5,头部大小0.7
  20. quiver3(-2, -2, 0, 3, -2, 1, 'Color', 'g', 'LineWidth', 1.5, 'MaxHeadSize', 0.7);
  21. % 第四种箭头样式: 品红色,线宽2,头部大小0.8
  22. quiver3(2, -1, 2, -2, 2, 0, 'Color', 'm', 'LineWidth', 2, 'MaxHeadSize', 0.8);
  23. % 第五种箭头样式: 黑色,线宽3,头部大小1.2
  24. quiver3(0, 2, -2, -1, -2, 3, 'Color', 'k', 'LineWidth', 3, 'MaxHeadSize', 1.2);
  25. % 第六种箭头样式: 黄色,线宽1,头部大小1
  26. quiver3(-3, 1, -3, 1, -1, -1, 'Color', 'y', 'LineWidth', 1, 'MaxHeadSize', 1);
  27. % 显示图形
  28. hold off;
复制代码
结果



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

卖不甜枣

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表