python绘制轨迹图,python画二维曲线

  python绘制轨迹图,python画二维曲线

  在学习SLAM时,经常需要重现其输出姿态来测试算法的效果。在ubuntu系统中可以使用Python来完成相关工作。

  一、Python在Ubuntu下的使用

  在Ubuntu下使用Python有两种方式,一种是直接在控制台运行Python文件,另一种是下载IDE编辑运行Python文件。

  在控制台中使用Python的方法如下:

  首先确认有Python文件(filename.py),然后打开控制台进入文件的当前目录,输入以下内容运行。

  python文件名. py

  虽然控制台可以运行Python,但还是建议用IDE,因为无法调试。

  官网提供两个版本,专业版和社区版,因为社区版是免费的,可以直接下载使用。下载后直接放入安装目录解压,然后按照解压后的指令文件执行安装命令,安装就可以成功了(有些电脑可能会因为配置原因报错,网上也有很多讲解配置环境安装的博客,供大家参考)。安装成功后,PyCharm界面如下所示。

  2.用matplotlib绘制三维轨迹

  Matplotlib是Python的一个绘图库。本文将讲解如何使用该库绘制三维线段,从而测试SLAM算法(电脑配置Python 2.7)的输出结果。

  2.1.画一个基本的三维曲线

  首先给出完整的代码,并给出输出结果。

  #导入必要的模块

  从mpl_toolkits.mplot3d导入axes3d

  将matplotlib.pyplot作为plt导入

  将numpy作为np导入

  #从文件加载数据

  #您可以使用open替换它

  data1=np.loadtxt(。/stereo/camera trajectory new 2000 . txt )

  first_2000=data1[:3]

  second_2000=data1[:7]

  third_2000=data1[:11]

  #打印以检查数据

  先打印_2000

  打印秒_2000

  打印第三张_2000

  #新建一个图形并将其设置为3d

  图=plt.figure()

  ax=fig.gca(投影=3d )

  #设置图形信息

  ax.set_title(3D_Curve )

  ax.set_xlabel(x )

  ax.set_ylabel(y )

  ax.set_zlabel(z )

  #绘制图形,颜色为r=read

  figure=ax.plot(first_2000,second_2000,third_2000,c=r )

  plt.show()

  这段代码很简单,相关注释也很完善,只简单说明几个需要注意的地方。首先要注意的是,建议用open读取文件中的数据,然后逐行读取;第二点是,创建新图像时一定不要忘记添加这段代码,这是将输出图像设置为3D的关键。

  ax=fig.gca(投影=3d )

  2.2.在同一张图片中绘制多条3D曲线。

  代码和输出结果如下:

  #导入必要的模块

  从mpl_toolkits.mplot3d导入axes3d

  将matplotlib.pyplot作为plt导入

  将numpy作为np导入

  #从文件加载数据

  #您将此替换为open

  data1=np.loadtxt(。/stereo/camera trajectory new 2000 . txt )

  first_2000=data1[:3]

  second_2000=data1[:7]

  third_2000=data1[:11]

  data2=np.loadtxt(。/stereo/camera rajectorynew 1500 . txt )

  first_1000=data2[:3]

  second_1000=data2[:7]

  third_1000=data2[:11]

  #新建一个图形并将其设置为3d

  图=plt.figure()

  ax=fig.gca(投影=3d )

  #设置图形信息

  ax.set_title(3D_Curve )

  ax.set_xlabel(x )

  ax.set_ylabel(y )

  ax.set_zlabel(z )

  #绘制图形,颜色为r=read

  figure1=ax.plot(first_2000,second_2000,third_2000,c=r )

  figure2=ax.plot(first_1000,second_1000,third_1000,c=b )

  plt.show()

  要实现这个功能,只需要在前面的代码中加入读取新数据的相关代码,在画图的时候多生成一个图形,也很简单。

  2.3.划分区域后绘制三维图像。

  代码和输出结果如下:

  #导入必要的模块

  从mpl_toolkits.mplot3d导入axes3d

  将matplotlib.pyplot作为plt导入

  将numpy作为np导入

  #从文件加载数据

  #您将此替换为open

  data1=np.loadtxt(。/stereo/camera trajectory new 2000 . txt )

  first_2000=data1[:3]

  second_2000=data1[:7]

  third_2000=data1[:11]

  data2=np.loadtxt(。/stereo/camera rajectorynew 1500 . txt )

  first_1500=data2[:3]

  second_1500=data2[:7]

  third_1500=data2[:11]

  #新建一个图形并将其设置为3d

  图=plt.figure()

  # ###########第一个次要情节# ########

  ax=fig.add_subplot(2,2,1,projection=3d )

  ax.set_title(3D_Curve1 )

  ax.set_xlabel(x )

  ax.set_ylabel(y )

  ax.set_zlabel(z )

  #绘制图形,颜色为r=read

  figure1=ax.plot(first_2000,second_2000,third_2000,c=r )

  figure2=ax.plot(first_1500,second_1500,third_1500,c=b )

  第二个次要情节

  ax=fig.add_subplot(2,2,2,projection=3d )

  #设置图形信息

  ax.set_title(3D_Curve2 )

  ax.set_xlabel(x )

  ax.set_ylabel(y )

  ax.set_zlabel(z )

  #绘制图形,颜色为r=read

  figure1=ax.plot(first_2000,second_2000,third_2000,c=r )

  figure2=ax.plot(first_1500,second_1500,third_1500,c=b )

  # ###########第三个次要情节# #######

  ax=fig.add_subplot(2,2,3,projection=3d )

  #设置图形信息

  ax.set_title(3D_Curve3 )

  ax.set_xlabel(x )

  ax.set_ylabel(y )

  ax.set_zlabel(z )

  #绘制图形,颜色为r=read

  figure1=ax.plot(first_2000,second_2000,third_2000,c=r )

  figure2=ax.plot(first_1500,second_1500,third_1500,c=b )

  # ###########第四个次要情节# #######

  ax=fig.add_subplot(2,2,4,projection=3d )

  #设置图形信息

  ax.set_title(3D_Curve4 )

  ax.set_xlabel(x )

  ax.set_ylabel(y )

  ax.set_zlabel(z )

  #绘制图形,颜色为r=read

  figure1=ax.plot(first_2000,second_2000,third_2000,c=r )

  figure2=ax.plot(first_1500,second_1500,third_1500,c=b )

  plt.show()

  主要需要解释下面一行代码:

  ax=fig.add_subplot(2,2,1,projection=3d )

  这一行代码主要是将当前空间拆分出来创建一个新的子图,有四个子图,排列成2x2矩阵,当前子图是四个子图的第一个,并且是3D模式。

  用matplotlib画三维曲线就是这样。总的来说比较简单,没有难度。Python确实是一门非常有用的编程语言。有关如何使用matplotlib的更多信息,请参考他们的官方网站,其中包含相关教程和示例。

  学习Python——用matplotlib绘制动态多图

  最近经常用matplotlib画数学函数图,但是如何用matplotlib画动态图和动态多图呢?直到今天我才学会。1.首先感谢几篇参考文献的作者。我学会了如何画它们。每个人都可以。

  学习python的matplotlib绘制动画(FuncAnimationlparrpar参数)

  1.函数funcanimation (fig,func,frames,init _ func,interval,blit)是绘制动画的主要函数,其参数如下:a .绘制动画的fig画布名称b.func自定义。

  用python绘制根部轨迹图

  最近学了自动控制原理,发现根轨迹都是画图。但是,书上教的是用matlab进行计算机辅助绘图。但是国内基本没有这种用python绘图的资料。后来发现python-control包已经.

  用Python matplotlib绘制三维曲线

  本文主要演示如何使用matplotlib绘制三维图形代码如下:#-*-编码:UTF-8-*-从mpl _ toolkits中导入matplotlib作为mpl。

  [转]使用Python matplotlib绘制股票走势图

  转载1。前言matplotlib[1]是著名的python绘图库,提供了一套完整的绘图API,非常适合交互式绘图。本人参与绘制k线等股票数据处理,所以会做matplotlib的.

  Matplotlib学习——用matplotlib画箱线图(boxplot)

  箱线图按四分位数显示数据的分布。比如数据的中心位置,数据之间的离散程度,有没有异常值等等。将数据从小到大排列,分成四等份,第一个分位数(Q1),第二个分位数(Q2),第三个分位数(Q3)。

  【Python环境】matplotlib-2D和3D绘图

  2015-10-30自媒体MATLAB API对数据科学最简单的介绍就是从MATLAB API开始,这个API是为了兼容MATLAB绘图函数而设计的。让我们加载它:从pylab导入.

  Matplotlib绘制三维地图

  本文参考官方文档:http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html开始构建新的matplotlib.figure.Figure对象,

  Python教程:matplotlib绘制双y轴曲线

  前言中的文字和图片均来自互联网,仅供学习交流,无任何商业用途。版权归原作者所有。如果您有任何问题,请联系我们进行处理。作者:Data Pipixia的双X轴可以理解为共享Y轴ax1=ax.twiny().

  随机推荐

  邮件系列(QQ邮箱plus带附件的邮箱箱plus项目实战)

  平台大势谁能阻挡?带着你的网跑!http://www.cnblogs.com/dunitian/p/4822808.html邮箱系列:https://github.com/duniti.

  infopath OpenCurlyDoubleQuote发布的提示;无法解析SOAP消息“lpar无法解析SOAP消息;问题解决方案

  最近发现一个列表的数据太大了。每次发布infopath表单都会提示以下错误:后来发现一个infopath表单是通过list.asmx和Formsservice.asmx发布的这个错误.

  Groovy模板引擎

  1.简介Groovy支持多种动态生成文本的方式,包括GStrings、print.

  从键盘输入一个正整数N。请根据杨辉三角形下面的五行输出杨辉三角形的前N行。请使用循环控制语句来实现。

  Scanner sc=新扫描仪(system . in);System.out.println(请输入正整数:);int ss=sc . nextint();我.

  使用OpenCurlyDoubleQuoteschemalowbarPostgreSQL中的name "

  http://timmurphy.org/tag/mysql/http://timmurphy . org/2009/11/17/use-schema _ name-in-PostgreSQL/====.

  表格边框美化

  在

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: