本文已参与「新人创作礼」活动,一起开启掘金创作之路
写本篇文章的目的是,笔者在进行相关问题的Matlab可视化时,对点之间进行连线标注,去网上搜索相关实现的方式。结果是很多代码需要花钱买,或是有些博主和书的作者没有说清楚函数的定义等等,导致无法实现。于是笔者自己探索,将一些主要的步骤封装成了函数,还有一些小细节方面进行了总结,笔者觉得这种总结还是有意义的,可以帮助到有相关需求的读者。
接下来给的函数是给定指定的点集,按照顺序连接各店并形成回路,读者也可以对函数进行改进,不封装成函数
也行,笔者把实现的大体思路给读者,哈哈哈。
主要是对line函数的使用、text函数、最后笔者再向大家推荐箭头的表示方法
line([x1,x2],[y1,y2]),x1x2y1y2是所要连接点对应的横纵坐标。
text(x1,y1,''),x1y1是要添加备注的坐标,而是备注的内容。
箭头图的使用可以用quiver和annotation来实现。这里笔者安利一个箭头图的blog,它写的很好:
==以下是笔者的Matlab实现的代码:==
position = [5 6
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));
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)]);
xlabel('x轴')
ylabel('y轴')
title('路线图')