R Plotly曲面图使用框架来更改视图

时间:2017-05-16 22:12:38

标签: r plotly

我想用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)

我想从动画滑块调整eyecamera的值,以便更改绘图而不重绘整个绘图。请注意,这是相机位置的变化而不是数据的变化,如图中的大部分其他示例所示。

这可能吗?

修改

使用闪亮的滑块进行动画处理我得到以下内容......但是,这仍然会在每次视图更改时重绘/重新渲染整个绘图,因此性能“不稳定”或慢...我认为使用{ {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")
  )
))

1 个答案:

答案 0 :(得分:1)

为了有效地做到这一点,您(至少目前)需要在JavaScript级别上工作。我刚刚添加了一个演示来帮助演示 - https://github.com/ropensci/plotly/commit/d1f7f091424d807e1f1373643ba79b1b38943cf7