Rをプロットして、(プロットをドラッグするのではなく再生ボタンを押して)アニメーションを作成してサーフェスプロット(火山)を回るようにします。Rフレームを使ってプロット面をプロットして表示を変更する
私は現在持っているコードは次のとおりです。
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)
私はそれが全体のプロットを再描画せずにプロットを変化するように、アニメーションスライダーからcamera
内eye
の値を調整したいと思います。これは、プロットの文書に示されている他の例の大部分のように、データの変化ではなくカメラの位置の変化であることに注意してください。
これは可能ですか?私は次のことを得るアニメーション化する光沢のあるスライダーを使用し
EDIT
...しかし、これはまだ再描画/再レンダリングビューの各変更で、全体のプロットは、そのパフォーマンスは「ぎくしゃく」または遅いです...私は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")
)
))
と
# server.R
library(shiny)
library(plotly)
shinyServer(function(input, output) {
output$surface <- renderPlotly({
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=1.25*sin(input$deg*(pi/180)),
y=1.25*cos(input$deg*(pi/180)),
z=1.25)
)))
})
})
ありがとうございました! –