3

跟进:

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(在侧面板中)

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()
    }

这不起作用:我收到错误:“二进制运算符的非数字参数”

我找不到允许用户下载 gVis 图的方法。我无法使用链接帖子中的方法,因为您无法“打印”gVis 图。

此外,这些文件在本地保存到我的 R 工作目录,但我计划将此应用程序上传到网络。用户的文件将保存在哪里?想法?

4

1 回答 1

3

我看到没有png记录 gvis 对象的方法。

从 googleVis 主索引页面链接的帮助页面中记录了两种“打印”方法print.gvis。默认方法(当tagNULL 或“html”时)是将 Java 脚本页面发送到您的浏览器。另一个(当你设置tag="chart"是用你给它的名字构造一个 html 文件。我想你可以用system发送到特定浏览器的运行实例的命令来安排一些东西,但为此你应该使用不同的 SO 标签,以便吸引与您使用相同软件的人的兴趣。(我正在使用带有 Firefox 的 Mac,并且看到“打印”输出没有任何困难。)如果您打算“将其上传到网络”,那么您需要有一个服务器。我的印象对你来说有点新吗?

print(GTM, tag="chart", file="test.html")  
#created in my working directory
于 2013-08-14T15:59:13.713 回答