跟进:
https://groups.google.com/forum/#!topic/shiny-discuss/u7gwXc8_vyY
我有与帖子中的用户完全相同的R Shiny结构化程序,除了我使用googleVis Shiny包作为我的情节。例如,这是gVis表的图:
output$gvisTable <- renderGvis( {
if (is.null(dataset))
return(NULL)
gvisTable(dataset)
})
编辑:
我保存ggplots的代码:
server.R
name <- paste0(input$filename, ".png")
print(p)
if(input$savePlot) {
ggsave(name, p, type="cairo-png")
}
ui.R(在sidePanel中)
wellPanel(
textInput('filename', "Filename"),
checkboxInput('savePlot', "Check to save")
)
这是我用来尝试保存gVis图的方法:
name <- paste0(input$filename, ".png")
if(input$savePlot) {
png(name, *INPUT GVIS PLOT HERE*, type="cairo-png")
dev.off()
}
这不起作用:我收到错误:&#39;二元运算符的非数字参数&#39;
我找不到允许用户下载gVis图的方法。我无法在链接的帖子中使用该方法,因为您无法打印&#39;一个gVis图。
此外,文件在本地保存到我的R工作目录,但我打算将此应用程序上传到网络。文件将在何处保存给用户?想法?
答案 0 :(得分:3)
我看不到为gvis对象记录的png
方法。
从print.gvis
的googleVis主索引页面链接的帮助页面中记录了两种“打印”方式。默认方法(当tag
为NULL或“html”时)是将Java脚本页面发送到浏览器。另一个(当你设置tag="chart"
时是用你给它的名字构造一个html文件。我想你可以用system
命令安排一些东西发送到特定浏览器的运行实例,但为此您应该使用不同的SO标签,以便吸引使用相同软件的人们的兴趣。(我使用的是带有Firefox的Mac,并且没有看到“打印”输出的困难。)如果您打算“将其上传到网络“,那么你需要一台服务器。我的印象这对你来说有点新鲜吗?
print(GTM, tag="chart", file="test.html")
#created in my working directory