Matlab plot画图学习---画点以及两点连线

1、点数据格式(编号    X坐标   Y坐标)

2、边数据格式(起始节点编号     终止节点编号)

3、实现效果:在图上描出各个点,并连接边。

4、代码实现

clear;
clc;
points = load('点的数据.txt');   %节点数据加载,存入points矩阵
lines = load('边数据.txt');    %边数据加载,存入lines矩阵
[x,y]=size(points);  %获取点矩阵的行数(点个数)和列数(3列,节点、x坐标、y坐标)
[x1,y1]=size(lines);    %获取边矩阵的行数(边数)和列数(2列,起始节点,终端节点)
xlabel('x坐标');% x轴名称
ylabel('y坐标'); 
axis([0,500,0,500]);
hold on;
plot(points(:,2),points(:,3),'.','Color','r','MarkerSize',25);      %plot(x,y)坐标x,y画图,实心圆点,红色,大小25
for i=1:x            %结点遍历
    for j=1:x1       %边遍历
        if i==lines(j,1)      %节点是边的起始节点
            fprintf('(%d,%d)-->(%d,%d)\n',points(i,2),points(i,3),points(lines(j,2),2),points(lines(j,2),3));   %打印起始节点和终端节点

              %plot画线,如果是连接点坐标(x,y)到点坐标(x1,y1)则应该是plot([x,x1],[y,y1])
            plot([points(i,2),points(lines(j,2),2)],[points(i,3),points(lines(j,2),3)],'Color','k'); %连线,黑色直线
        end
    end
end
hold off;

备注:上面的每个点画得是没问题的,但是起初做得时候,以为连接点是plot([x,y],[x1,y1]),结果画出来的图总是错误的,正确的操作应该是plot([x,x1],[y,y1])

节点数据:

1 100    300
2 150     100
3 200     300
4 400      300
5 300     500
6 150     400

边数据:

1   2
1   3
1   6
2   4
3   4
4   5
5   6

阅读更多

没有更多推荐了,返回首页