我想用R plotly来创建动画(通过按下播放按钮而不是拖动绘图)来围绕曲面图(火山)旋转。
我目前的代码如下:
p <- plot_ly(z = ~volcano, type = "surface")
layout(p,scene=list(camera=list(up=list(x=0,y=0,z=1),
center=list(x=0,y=0,z=0),
eye=list(x=2,y=2,z=0)
)))
animation_slider(p, hide = FALSE)
我想从动画滑块调整eye
内camera
的值,以便更改绘图而不重绘整个绘图。请注意,这是相机位置的变化而不是数据的变化,如图中的大部分其他示例所示。
这可能吗?
修改
使用闪亮的滑块进行动画处理我得到以下内容......但是,这仍然会在每次视图更改时重绘/重新渲染整个绘图,因此性能“不稳定”或慢...我认为使用{ {1}}参数可以解决这个问题,但不确定如何......
frame
和
# ui.R
library(shiny)
library(plotly)
shinyUI(fluidPage(
titlePanel("Spining surface"),
sidebarPanel(
sliderInput("deg", "degrees:",
min = 0, max = (360*3)+30,
value = 30,step=10,
animate=animationOptions(interval=100))
),
mainPanel(
plotlyOutput("surface")
)
))
答案 0 :(得分:1)
为了有效地做到这一点,您(至少目前)需要在JavaScript级别上工作。我刚刚添加了一个演示来帮助演示 - https://github.com/ropensci/plotly/commit/d1f7f091424d807e1f1373643ba79b1b38943cf7