MATLAB绘制统计折线图

MATLAB绘制实验数据折现图

  在论文或者文章写作中,经常需要使用图形来表示我们的实验结果。一般来说,这种表示方式比表格更加直观、更加可视化。因此,本文给出一种使用MATLAB处理数据得到折线图的教程。

1. 待处理数据形式

  待处理的数据为迭代次数与SR、time、RC、length、steerNum、steerAngle、validNode这七个指标的走势图。即随着迭代次数的增加,这七个指标的走势情况。 并且,实验数据包含一个改进和两个对比,三个数据都保存在txt文件中,如下所示。

  • dealmeans-RRTstar.txt

iteration SR time RC lengthsteerNum steerAngle validNode
150 0 nan nan nan nan nan nan
300 0 nan nan nan nan nan nan
500 0 nan nan nan nan nan nan
1000 0.142857 0.291912 0.0962069 344.143 46.8571 816.639 383.286
1500 0.469388 0.831647 0.107638 347.348 47.6957 923.343 607.478
2000 0.693878 0.726488 0.100066 345.912 46.8235 842.842 753.235
2500 0.816327 0.826433 0.104683 348.025 46.8 883.326 953.75
3000 0.877551 1.11224 0.108346 352.163 47.9535 934.25 1100.91
3500 0.877551 1.61856 0.104273 347.256 47.4884 889.123 1299.21

  • dealmeans-BRRTstar.txt

iteration SR time RC lengthsteerNum steerAngle validNode
150 0 nan nan nan nan nan nan
300 0 nan nan nan nan nan nan
500 0.0816327 0.108026 0.113985 336.5 48 977.567 229
1000 0.673469 0.306055 0.118107 346.394 49.3636 1049.82 426
1500 1 0.617184 0.112612 343.204 48.8571 991.233 601.694
2000 1 1.2277 0.112168 340.429 47.9184 968.744 773.102
2500 1 1.82997 0.113759 337.306 47.1429 966.036 934.673
3000 1 2.46895 0.111037 334.633 47.2041 944.087 1113.04
3500 1 3.27609 0.112627 333.735 46.9592 951.161 1315.67

  • dealmeans-BV-RRTstar.txt

iteration SR time RC lengthsteerNum steerAngle validNode
150 1 0.0715696 0.155344 332.959 23.3469 653.243 140.98
300 1 0.181333 0.15514 333.612 25.449 710.931 234.49
500 1 0.377778 0.149981 333.367 26.4694 714.981 344.408
1000 1 1.16517 0.149679 331.408 28.3061 763.375 611.265
1500 1 2.62397 0.143125 328.735 28.9796 746.574 859.041
2000 1 4.57071 0.140159 325.878 29.6327 746.221 1123.14
2500 1 6.14498 0.132265 324.245 30.6531 728.807 1370.67
3000 1 8.19425 0.12972 322.449 30.8776 721.298 1626.59
3500 1 10.9185 0.124152 320.714 30.8163 689.744 1864.41

2. 绘制折线图的MATLAB代码

  绘制图形的代码流程为:读取文件,绘制图形,设置xy坐标轴和图例。

close all;
clc;
%只是第一行有字符,则使用importdata可直接读取数据
data1=importdata('D:\大论文试验\实验图片\第四章\补充密集障碍物地图中的实验\dealmeans-RRTstar.txt');
data11=data1.data; %若没有这一步,出不出来图。
data2=importdata('D:\大论文试验\实验图片\第四章\补充密集障碍物地图中的实验\dealmeans-BRRTstar.txt');
data21=data2.data; %若没有这一步,出不出来图。
data4=importdata('D:\大论文试验\实验图片\第四章\补充密集障碍物地图中的实验\dealmeans-BV-RRTstar.txt');
data41=data4.data; %若没有这一步,出不出来图。
x=data11(:,1);
y11=data11(:,2);
y12=data11(:,3);
y13=data11(:,4);
y14=data11(:,5);
y15=data11(:,6);
y16=data11(:,7);
y17=data11(:,8);

y21=data21(:,2);
y22=data21(:,3);
y23=data21(:,4);
y24=data21(:,5);
y25=data21(:,6);
y26=data21(:,7);
y27=data21(:,8);

y41=data41(:,2);
y42=data41(:,3);
y43=data41(:,4);
y44=data41(:,5);
y45=data41(:,6);
y46=data41(:,7);
y47=data41(:,8);
figure(1); %路径长度曲线
%plot(x,y14,'-bo',x,y24,'-rp',x,y44,'-cs',x,y34,'-g*');
plot(x,y14,'-bo',x,y24,'-rp',x,y44,'-g*','LineWidth',1.2); %figure(1)中绘制三条曲线,设置折现颜色,粗细
title('迭代次数与路径长度');
xlabel('iteration');
ylabel('Path Length');
lgd1=legend('RRT*','Bi-RRT*','BV-RRT*'); %设置图例
%set(lgd1,'Location','BestOutside');
set(lgd1,'FontName','Times New Roman','FontSize',8) %设置图例的字体
lgd1.ItemTokenSize = [20,20];%设置图例尺寸
figure(2); %执行时间,包括runtime
plot(x,y12,'-bo',x,y22,'-rp',x,y42,'-g*','LineWidth',1.2);
title('迭代次数与执行时间');
xlabel('iteration');
ylabel('time(s)');
lgd2=legend('RRT*','Bi-RRT*','BV-RRT*');
%set(lgd2,'Location','BestOutside');
set(lgd2,'FontName','Times New Roman','FontSize',8)
lgd2.ItemTokenSize = [20,20];
figure(3); %成功率SR
plot(x,y11,'-bo',x,y21,'-rp',x,y41,'-g*','LineWidth',1.2);
title('迭代次数与成功率');
xlabel('iteration');
ylabel('SR');
lgd3=legend('RRT*','Bi-RRT*','BV-RRT*');
%set(lgd3,'Location','BestOutside');
set(lgd3,'FontName','Times New Roman','FontSize',8)
lgd3.ItemTokenSize = [20,20];
figure(4); %有效节点数
plot(x,y17,'-bo',x,y27,'-rp',x,y47,'-g*','LineWidth',1.2);
title('迭代次数与有效节点数');
xlabel('iteration');
ylabel('有效节点数');
lgd4=legend('RRT*','Bi-RRT*','BV-RRT*');
set(lgd4,'Location','BestOutside');
set(lgd4,'FontName','Times New Roman','FontSize',8)
lgd4.ItemTokenSize = [20,20];
figure(5); %转弯次数,转弯角度,路径异常值
subplot(2,2,1); %转弯角度
plot(x,y16,'-bo',x,y26,'-rp',x,y46,'-g*','LineWidth',1.2);
title('迭代次数与路径总转向角度');
xlabel('iteration');
ylabel('路径总转向角度');
subplot(2,2,2); %转弯次数
plot(x,y15,'-bo',x,y25,'-rp',x,y45,'-g*','LineWidth',1.2);
title('迭代次数与路径转弯次数');
xlabel('iteration');
ylabel('路径总转弯次数');
subplot(2,2,3); %路径异常值
plot(x,y13,'-bo',x,y23,'-rp',x,y43,'-g*','LineWidth',1.2);
title('迭代次数与路径异常值');
xlabel('iteration');
ylabel('RC');
legend('RRT*','Bi-RRT*','BV-RRT*');

3. 结果图展示
在这里插入图描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4 总结

  本文使用MATLAB绘制折线图适合对数据进行可视化处理。使用MATLAB绘制的图片还有一个好处是可以保存为.emf格式,这样插入word中不会失真。

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值