gpt4 book ai didi

r - Shiny R recordPlot() 在本地呈现但对象不显示在 Shinyapps.io 上

转载 作者:行者123 更新时间:2023-12-04 10:12:33 24 4
gpt4 key购买 nike

我的服务器.r ->

output$finaltable2 <- renderUI({
if(is.null(input$check)) {return()}
else
tabsetPanel(
tabPanel("Q Bins", renderPlot(replayPlot(qplot), height = 600)),
tabPanel("P Value Histogram", renderPlot(replayPlot(tplot), height = 600)),
tabPanel("Q Value to Use", h3(toString(qaverage)))
)

})

取出 replayPlot() 并在 renderPlot() 中调用 qplot/tplot 对象也可以:

output$finaltable2 <- renderUI({
if(is.null(input$check)) {return()}
else
tabsetPanel(
tabPanel("Q Bins", renderPlot(qplot, height = 600)),
tabPanel("P Value Histogram", renderPlot(tplot, height = 600)),
tabPanel("Q Value to Use", h3(toString(qaverage)))
)
})

我的 qplot 和 tplot 对象由:

plot.new() 
par(mfrow=c(3,4))
barplot(df[[1]][[2]])
*etc, etc, etc [adding more subplots to plot]*
qplot <- recordPlot()

也许 shinyapps linux 服务器不喜欢 recordPlot() 结构;还有另一种方法可以记录我的绘图数据并在 output$UI 调用中呈现它吗?谢谢!

最佳答案

所以在阅读了link provided by @ginberg之后,我想出了这个答案。希望它能对 2038 年以后的任何读者有所帮助。

首先,在创建我的 recordPlot() 对象时,我添加了 dev.control("enable") 和 dev.off(),如下所示:

plot.new() 
dev.control("enable")
hist(df etc etc etc)
qplot <- recordPlot()
dev.off()

然后在我的 server.r 文件中,在我的 output$thing renderUI 中,我更改了 renderPlot 以包含 replayPlot()。像这样:

tabPanel("Q Bins", renderPlot(replayPlot(qplot), height = 600)),

然后我将文件上传到 shinyapps - 完美运行。感谢 ginberg 向我展示了有关记录和回放图表的页面。

[我尝试做的其他事情,但没有做得太远:]

  1. 将绘图保存为图像并在 标签集面板。
  2. 使用 plotOutput()

关于r - Shiny R recordPlot() 在本地呈现但对象不显示在 Shinyapps.io 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48848623/

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