gpt4 book ai didi

r - 如何将零件一张一张地添加到 Shiny 的图形中

转载 作者:行者123 更新时间:2023-12-04 14:27:16 25 4
gpt4 key购买 nike

我正在尝试为我的统计类制作一些演示。除其他外,我想展示所涉及的逐步过程。对于我正在寻找的简化示例,请考虑以下小玩具 R 功能:

toyPlot <- function() {
x <- 1:100/100
y <- x+rnorm(100,0,0.2)
plot(x,y)
Sys.sleep(2)
abline(lm(y~x))
Sys.sleep(2)
title(main="Fitted Line Plot")
}

它绘制散点图,等待两秒钟,添加 LSR 线,等待两秒钟,然后添加标题。

现在,当我在 Shiny 时执行相同操作时,它会等待整整 4 秒,然后立即完整绘制图表。

我花了一些时间寻找解决方案,发现了一些看起来很有用的命令(session$onFlushed、invalidateLater、reactiveTimer),但我无法让它们中的任何一个做我想做的事。

最佳答案

为什么不将绘图输出绑定(bind)到动画 slider 的值?您可以使用 animationOptions 控制每个阶段的持续时间.

ui <- fixedPage(
plotOutput('myplot'),
sliderInput('myslider', 'Steps', min=1, max=3, value=1, animate=animationOptions())
)


server <- function(input, output, session) {

x <- 1:100/100
y <- x + rnorm(100, 0, 0.2)

pfs <- list(
function() plot(x, y) ,
function() abline(lm(y~x)),
function() title(main='Fitted line plot')
)

output$myplot <- renderPlot({
for (i in 1:input$myslider) pfs[[i]]()
})

}

runApp(list(ui=ui, server=server))

关于r - 如何将零件一张一张地添加到 Shiny 的图形中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27068854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com