【问题标题】:How do I export and host a ggvis chart on my own webserver?如何在我自己的网络服务器上导出和托管 ggvis 图表?
【发布时间】:2014-08-12 05:13:45
【问题描述】:

据我了解,ggvis 在闪亮的基础上运行。但我不知道如何导出在没有 R/shiny 的网络服务器上运行单个 ggvis 图表所需的所有文件。

【问题讨论】:

    标签: r shiny ggvis


    【解决方案1】:

    这对于交互式绘图是不可能的,因为“每个交互式 ggvis 绘图都必须连接到正在运行的 R 会话”(通过 ggivs basics)。但是,对于不需要响应值的那些也是可能的。

    CAVEAT ggvis 还是很新的,所以 YMMV 与 0.2.x 为以下+。

    我快速尝试了各种 ggvis/knitr 打印功能,但未能生成整个文档(即使用必要的库)。如果您确实使用以下内容调用标准的非交互式 ggvis:

    library(ggvis)
    p <- ggvis(mtcars, x = ~wt, y = ~mpg)
    p
    

    并执行“在浏览器中查看”,您会看到它创建的目录有一个主 HTML 文件和一个 libs 目录。您将需要站点中的所有这些 javascript 库,然后需要一个外部模板,例如:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8"/>
    <script src="lib/jquery-1.11.0/jquery.min.js"></script>
    <link href="lib/jquery-ui-1.10.4/css/smoothness/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" />
    <script src="lib/jquery-ui-1.10.4/js/jquery-ui-1.10.4.custom.min.js"></script>
    <script src="lib/d3-3.4.1/d3.min.js"></script>
    <script src="lib/vega-1.3.3/vega.min.js"></script>
    <script src="lib/lodash-2.2.1/lodash.min.js"></script>
    <script>var lodash = _.noConflict();</script>
    <link href="lib/ggvis-0.3.0.99/css/ggvis.css" rel="stylesheet" />
    <script src="lib/ggvis-0.3.0.99/js/ggvis.js"></script>
    <script src="lib/shiny-ggvis-0.3.0.99/js/shiny-ggvis.js"></script>
    
    </head>
    <body>
    
    </body>
    </html>
    

    您可以通过以下方式获取 ggvis 绘图 HTML:

    library(knitr)
    q <- knit_print.ggvis(p)
    writeLines(as.character(q), "~/SOMEDIR/ggvis.html")
    

    然后将其插入body 标记中。

    如果您在 github 上的 ggvis 源代码上多花点时间,您可能能够弄清楚如何使用 view_static(来自 ggvis)自动获得它。我也很确定有一种方法可以从 rmarkdown 文件直接编织到 html,但我有点远离 ggvis,直到至少 0.4/0.5 用于伪生产 vis。

    【讨论】:

      猜你喜欢
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 2017-08-03
      相关资源
      最近更新 更多