将 ggvis html 保存到文件

Save ggvis html to file

目标:

我希望能够创建静态 ggvis 图并为保存 html 文件的目录路径传递参数。

模拟数据:

require(ggvis)

# Create mock data to work with
dfa <- data.frame(
date_a = seq(from= as.Date("2015-06-10"), 
    to= as.Date("2015-07-01"), by= 1),
val_a = c(2585.150, 2482.200, 3780.186, 3619.601, 
    0.000, 0.000, 3509.734, 3020.405, 
    3271.897, 3019.003, 3172.084, 0.000, 
    0.000, 3319.927, 2673.428, 3331.382, 
    3886.957, 2859.887, 0.000, 0.000, 
    2781.443, 2847.377) )

示例图:

这是一个静态 ggvis 图的示例。

# Create working static ggvis plot
dfa %>%
  ggvis( x= ~date_a , y= ~val_a, stroke := "black", opacity := 0.5 ) %>% 
    scale_datetime("x", nice = "month", domain = c(as.Date("2015-06-10"),
    as.Date("2015-07-15") )) %>%
    layer_lines() %>% layer_points( fill := "black" )

当这是 运行 时,默认情况下 html 文件写入 "file:///C:/Users/.../AppData/Local/Temp/RtmpyuMDDO/viewhtml1bf039815bb2/index.html"。相反,我希望能够传递所需的路径:"file:///C:/my/desired/path/to/plot/index.html" 作为参数并将 html 文件保存在那里。

研究:

以下是一些我已阅读但未能完成的相关主题:

Documentation

SO Discussion on saving html

关于之前的 SO 讨论,首先自这个较旧的 post 以来有进一步的发展,其次,我更愿意只传递目标路径并将 html 写入指定路径。

将其放入 output.Rmd:

```{r, echo=FALSE}
library(ggvis)
dfa <- data.frame(
date_a = seq(from= as.Date("2015-06-10"),
    to= as.Date("2015-07-01"), by= 1),
val_a = c(2585.150, 2482.200, 3780.186, 3619.601,
    0.000, 0.000, 3509.734, 3020.405,
    3271.897, 3019.003, 3172.084, 0.000,
    0.000, 3319.927, 2673.428, 3331.382,
    3886.957, 2859.887, 0.000, 0.000,
    2781.443, 2847.377) )

dfa %>%
  ggvis( x= ~date_a , y= ~val_a, stroke := "black", opacity := 0.5 ) %>%
    scale_datetime("x", nice = "month", domain = c(as.Date("2015-06-10"),
    as.Date("2015-07-15") )) %>%
    layer_lines() %>% layer_points( fill := "black") %>% 
  knit_print.ggvis(inline=TRUE)
```

在 R 控制台(在正确的目录中),运行:

rmarkdown::render("output.Rmd")

output.html 看起来像:

并成为一个独立的文档。

如果你稍微努力一下,你可以使这个函数满足你的需要。