Plot_ly()动画在R中创建时间太长

时间:2018-06-08 05:50:05

标签: html r animation rstudio plotly

在R中使用plot_ly()函数制作动画时,生成的速度需要太长时间。

t1<-Sys.time()
##################################
library(plotly)
library(dplyr)
library(htmlwidgets)
##################################

df <- data.frame('a' = c(1:10000), 'b'= c(1:10000), 'c'=c(1:10000),'d'=c(1:10000), 
'e'=c(1:10000),'f'=c(1:10000),'g'=c(1:10000), 'h'=c(1:10000))

##################################
p <- plot_ly() %>% 

  add_trace(  data = df,
              x= ~a,
              y= ~b,
              z= ~c,
              opacity = 0.5,
              type = 'scatter3d', mode = 'lines',
              line = list( color= "#DD443C", dash="solid", width = 8),
              name ="test_Speed")

t2<-Sys.time()
#plotly
t2-t1       

saveWidget(as_widget(p), 'test.html')


t2<-Sys.time()
#html
t2-t1

在上面的代码任务中,任务在1.6秒内完成。但是,下面添加了帧变量的代码需要三分多钟。此外,在Web浏览器中操作时,图表无法正常打开。

t1<-Sys.time()
##################################
library(plotly)
library(dplyr)
library(htmlwidgets)
##################################

df <- data.frame('a' = c(1:10000), 'b'= c(1:10000), 'c'=c(1:10000),'d'=c(1:10000), 
'e'=c(1:10000),'f'=c(1:10000),'g'=c(1:10000), 'h'=c(1:10000))

##################################
p <- plot_ly() %>% 

  add_trace(  data = df,
              x= ~a,
              y= ~b,
              z= ~c,
              frame = ~d,
              opacity = 0.5,
              type = 'scatter3d', mode = 'lines',
              line = list( color= "#DD443C", dash="solid", width = 8),
              name ="test_Speed")

t2<-Sys.time()
#plotly
t2-t1       

saveWidget(as_widget(p), 'test.html')


t2<-Sys.time()
#html
t2-t1

plot_ly函数处理很快,但我可以看到saveWidget需要花费很多时间。 我想输出一个在200,000行的数据框中动画的图形。 我可以输出非html格式的图表吗? (动画可能) 或者有没有办法加快saveWidget?我需要帮助。

0 个答案:

没有答案