在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?我需要帮助。