plotly包安装_使用r+plotly进行轨迹可视化

在进行轨迹规划时,较容易得到空间轨迹的位置点信息,将这些位置点存储下来,使用gunplot等工具绘图,可以看到整体运动过程,但是只能看到静止图像,无法看到运动过程。

使用 pythonmatplotlib可以将运动过程导出为gif或者mp4等格式的文件,进行动态展示。但是依旧是静态文件,无法与文件进行交互。

使用R语言及其plotly包,可以实现轨迹动态展示,以及与文件进行简单交互。下面对其使用方式进行简单介绍。

The R Project for Statistical Computing

Plotly R Graphing Library

RStudio | Open source & professional software for data science teams

安装

仅需安装R语言包即可。RStudio可选。安装完成后,进行环境变量设置。

建议使用scoop进行安装。

文件

首先是轨迹的数据文件,二维轨迹文件如下,代表x和y轴,中间以空格分开,文件名data.txt

0.5 0
0.5 0.000314159
0.5 0.000628318
0.499999 0.000942477
0.499998 0.00125664
0.499998 0.00157079
...

其次是r语言文件,它载入文件,产生控件,保存成网页graph.html。文件名basic.r

library(plotly)

mydataframe <- read.table(file = "data_LineNumber.txt", header = FALSE, sep = " ")

p <- mydataframe %>%
  plot_ly(
    x = ~V2,
    y = ~V3,
    frame = ~V1,
    type = 'scatter',
    mode = 'markers',
    showlegend = F
  )

htmlwidgets::saveWidget(as_widget(p), "graph.html")

因为plotly需要使用一个类似时间的变量,在载入文件时顺便载入到dataframe里,故需要对data.txt进行处理,给其每行前加上行号,当作时间变量。这里使用windowsbat进行处理,文件名AddLineNumber.bat

@echo off

set file=%1     
set x=1
setlocal EnableDelayedExpansion

for /f "delims=|" %%i in (%file%) do (
  echo !x! %%i
  set /a x=!x!+1
)

最后是makefile,编译文件:

Compiler = Rscript
DELETE = del
ADDLINENUMBER = AddLineNumber.bat

all: build

build:
	#给数据文件加入行号
	$(ADDLINENUMBER) data.txt > data_LineNumber.txt
	#编译,产生网页
	$(Compiler) basic.r
	@echo Done.

clean:
	@${DELETE} graph.html
	@${DELETE} data_LineNumber.txt

四个文件齐备时,在命令行里执行make即可产生 graph.html,打开网页即可看到轨迹控件,点击play,即可开始播放轨迹运动过程,播放过程中,可以放大、缩小、用鼠标展示位置等等。

4e4a532b39777357614a198c28a2370d.png

但是当文件数据量大时,存在编译时间久,产生文件打开慢的问题。故展示数据量较小时,使用起来较为方便。

面对数据量大的问题,估计只能使用cpp+opengl或是c#+SharpDx自己开发了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值