1

我正在学习如何使用该tmap包生成地图并将其保存到交互式 HTML 文件中。如果我创建了一个tmap对象并使用该函数将其保存到我的工作目录中save_tmap,我会按预期得到一个 HTML 文件。但是,如果我将目录更改为其他路径,则会生成一条错误消息。请看下面的例子。

# Load tmap package
library(tmap)
# Load example data
data(World)
# Create example map
example_map <- tm_shape(World, projection="longlat") + 
      tm_polygons() + 
      tm_layout("Long lat coordinates (WGS84)", 
                inner.margins = c(0, 0, .1, 0), title.size = .8)

# Save an HTML object
save_tmap(example_map, "example_map.html")

我将example_map.html在我的工作目录中获取。

# Create a folder in the working directory
if (!dir.exists("tmap_folder")){
  dir.create("tmap_folder")
}

# Save the HTML object in "tmap_folder"
save_tmap(example_map, "tmap_folder/example_map.html")

不起作用。我将收到以下错误消息

normalizePath(path.expand(path), winslash, mustWork) 中的错误:path[1]="tmap_folder": 系统找不到指定的文件

如果您有任何想法可能导致此错误,请分享您的想法。

4

2 回答 2

2

这听起来像是 normalizePath 和 Windows 之间的斗争(请参阅此处的另一个示例)。而不是使用像这样的相对路径"tmap_folder/example_map.html"尝试使用像C:/users/ycw/tmap_folder/example_map.html.

于 2017-07-28T08:45:50.047 回答
1

另一种选择似乎是使用该here软件包。这样,您不必指定完整路径,并且您的代码可能更便携,可以更好地使用 rstudio 项目和 Rmarkdown。

# Save the HTML object in "tmap_folder" with here package
library(here)
save_tmap(example_map, here("tmap_folder","example_map.html"))
于 2019-04-08T13:21:11.807 回答