将传单输出保存为 html

Saving leaflet output as html

我正在使用 RStudio 创建一些传单图片。

我希望能够将输出保存为 HTML,以便可以通过电子邮件发送,其他人也可以查看。

下面是从 [此处] 获取的一些示例 R 代码,用于创建示例传单图像。

devtools::install_github('rstudio/leaflet')
library(leaflet)
rand_lng = function(n = 10) rnorm(n, -93.65, .01)
rand_lat = function(n = 10) rnorm(n, 42.0285, .01)
m = leaflet() %>% addTiles() %>% addCircles(rand_lng(50), rand_lat(50), radius = runif(50, 10, 200))
m

任何能够输出为 HTML 的代码将不胜感激...

打开一个新的 RMarkdown 文档。当您使用 RStudio 时,转到 File -> New File -> R Markdown。 保存文件后,您可以将代码插入块中,如下所示:

---
title: "Leaflet Map"
output: html_document
---

```{r}
library(leaflet)
rand_lng = function(n = 10) rnorm(n, -93.65, .01)
rand_lat = function(n = 10) rnorm(n, 42.0285, .01)
m = leaflet() %>% addTiles() %>% addCircles(rand_lng(50), rand_lat(50), radius = runif(50, 10, 200))
m
```

然后按代码 window 上方的 Knit HTML 按钮,您的应用程序将在新的 HTML 文件中打开。您可以通过电子邮件发送文件或将其上传到您的 ftp.

类似于:

library(htmlwidgets)
saveWidget(m, file="m.html")

似乎适用于大多数小部件。

我遇到了同样的问题,安装 Github 版本后问题得到解决。

# Or Github version
if (!require('devtools')) install.packages('devtools')
devtools::install_github('rstudio/leaflet')

我目前的版本是 1.1.0.9000,在 macOS Sierra 上 运行,RStudio 版本 1.1.232 和 R 3.4.0

您可以从 RStudio 导出或使用 htmlwidgets 保存。

另一个使用 mapview 库的选项是:

library(mapview) mapshot(m, url = "m.html")

请注意,您还可以将输出设置为 .png.pdf.jpeg

图书馆(地图视图)

要另存为 "png" 或 "jpg" 图片:

mapshot(m, file = "m.png")
mapshot(m, file = "m.jpeg")

连pdf都可以用

两种解决方案 saveWidget 或 mapshot 都可以正常工作(saveWidget 似乎更快),但是,您应该注意颜色选择,尤其是为 borders/lines 多边形选择的那些,因为在存储的地图中并非所有颜色绘制边框(例如 "grey50" 被忽略,而正常绘制 "black" 的纯色)。

奇怪的是,这些颜色在用作填充色时可以正确存储和显示。