我正在尝试做一些与此处解释的内容非常相似的事情, 使用 shiny 将绘图动态添加到网页。
但是,我需要对 renderPlot (server.r:line 28)内的绘图函数进行等效调用才能进行反应,仅在输入更改时调用。在我的设置中,我有一个包含我需要调用的函数名称的列表。
我已经提供了我的意思的示例代码以及使用反应回调的尝试。
for (i in 1:length(plot_list)) {
local({
my_i <- i
plotname <- paste("plot_fn_name", my_i, sep="")
output[[plotname]] <- renderPlot({
args <- list(input$arg1, input$arg2, input$arg3)
fn <- reactive({plot_list[[my_i]](args)})
#p <- do.call(fn, args)
p <- fn()
print(p)
})
})
}
关于如何实现这一目标的任何想法?谢谢。