欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matlab 画图连线、箭号表示

程序员文章站 2022-07-16 17:33:50
...

Matlab 画图连线、箭号表示


写本篇文章的目的是,笔者在进行相关问题的Matlab可视化时,对点之间进行连线标注,去网上搜索相关实现的方式。结果是很多代码需要花钱买,或是有些博主和书的作者没有说清楚函数的定义等等,导致无法实现。于是笔者自己探索,将一些主要的步骤封装成了函数,还有一些小细节方面进行了总结,笔者觉得这种总结还是有意义的,可以帮助到有相关需求的读者。

  接下来给的函数是给定指定的点集,按照顺序连接各店并形成回路,读者也可以对函数进行改进,不封装成函数
  也行,笔者把实现的大体思路给读者,哈哈哈。

主要是对line函数的使用、text函数、最后笔者再向大家推荐箭头的表示方法
line([x1,x2],[y1,y2]),x1x2y1y2是所要连接点对应的横纵坐标。
text(x1,y1,’***’),x1y1是要添加备注的坐标,而***是备注的内容。

箭头图的使用可以用quiver和annotation来实现。这里笔者安利一个箭头图的blog,它写的很好:
箭头图
以下是笔者的Matlab实现的代码:

position = [5 6
    9 8
    3 1
    2 4
    7 10];
s = randperm(5);
drawpath(s,position);

function drawpath(s,position)
% 画出路线
% s为路径,position为各点坐标

s1 = [s s(1)];      % 闭合回路
figure
hold on
plot(position(:,1),position(:,2),'o')
plot(position(1,1),position(1,2),'rv','MarkerSize',20)
for i = 1:size(position,1)
    text(position(i,1)+0.05,position(i,2)+0.05,num2str(i));
end
A = position(s1,:);
row = size(A,1);  % 获得A的行的值
for i = 1:size(position,1)
    line([A(i,1),A(i+1,1)],[A(i,2),A(i+1,2)]);
end
xlabel('x轴')
ylabel('y轴')
title('路线图')

Matlab 画图连线、箭号表示

相关标签: matlab 可视化