【发布时间】:2021-01-03 17:00:18
【问题描述】:
我想更改数字以使情节具有动画效果。这个我试过了
library(shiny)
library(ggplot2)
ui <- fluidPage(
titlePanel("Equation"),
sidebarLayout(
sidebarPanel(
sliderInput(inputId = "values",
label = "number of values:",
min = -5,
max = 5,
value = 5)
),
mainPanel(
plotOutput(outputId = "distPlot")
)
)
)
server <- function(input, output) {
output$distPlot <- renderPlot({
k <- function(x,c) {
p <- (-x^3+c)
return(p)
}
gg <- function(c_val) {
ggplot(data.frame(x = c(-50, 50)), aes(x)) +
stat_function(fun = k, args = list(c=c_val), aes(colour = "temp"))}
gg(-5)
})
}
shinyApp(ui,server)
我可以看到情节和侧边栏,但是当我移动侧边栏时,它并没有改变。我努力改变剧情。我知道它可能不会有显着变化,但对于这些代码的目的来说并不重要。
我想知道我们是否可以使用闪亮来做到这一点。
【问题讨论】:
-
您是否尝试过在情节代码中的某处使用
input$values?ggplot2不会自发查找您尚未声明/分配的变量。 -
另外,当你使用
input$values时,你得到的并不是真正的动画。如果你想这样做,你将不得不查看gganimate包。但是,当您说动画时,您的意思可能有所不同。 -
是的,仅像这样(在 renderPlot 内部),但是绘图消失了 df % str_split(",", simple = TRUE) %>% str_trim() . 通过动画,我只想使用不同的值来获得不同的情节。
-
@user330 当然我可以,但老实说,无论您在
gg(c_val)中输入什么值,您的情节都不会真正改变。只有“水平”变化,这意味着值变大或变小,但情节本身并没有真正的变化。更重要的是,只有当c_val明显变大时,您才会看到电平变化。例如。试试gg(5)和gg(50000)。您不会在您的应用中看到这些变化,因为滑块仅限于 -5 和 5。 -
@SavedByJESUS 我已经更新了,所以如果可能的话,您可能希望提供帮助?