如何在我自己的网络服务器上导出和托管ggvis图表?

Jer*_*Who 3 r shiny ggvis

据我所知,ggvis运行在闪亮之上.但我无法弄清楚如何导出在没有R /闪亮的网络服务器上运行单个ggvis图表所需的所有文件.

hrb*_*str 6

由于"每个交互式ggvis图必须连接到正在运行的R会话"(通过ggivs基础知识),因此交互式绘图是不可能的.但是,对于不需要反应值的那些可能.

CAVEAT ggvis仍然RLY新的,所以YMMV与0.2.X以下+.

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

library(ggvis)
p <- ggvis(mtcars, x = ~wt, y = ~mpg)
p
Run Code Online (Sandbox Code Playgroud)

并在"浏览器中查看",您将看到它创建的目录有一个主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>
Run Code Online (Sandbox Code Playgroud)

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

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

然后只需将其插入body标签中.

如果你在github的ggvis源代码中逛了一下,你或许可以弄清楚如何使用view_static(来自ggvis)来自动获取它.我也非常确定有一种方法可以直接将rmarkdown文件编织成html,但我仍然保持ggvis的清晰度,直到至少0.4/0.5为伪生产vis.