首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tmap::save_tmap函数不能将HTML文件保存在工作目录以外的文件夹中。

tmap::save_tmap函数不能将HTML文件保存在工作目录以外的文件夹中。
EN

Stack Overflow用户
提问于 2017-03-14 17:59:17
回答 2查看 825关注 0票数 1

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

代码语言:javascript
复制
# 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

代码语言:javascript
复制
# 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(路径)、winslash、mustWork):path1="tmap_folder":系统找不到指定的文件

如果你有任何可能导致这个错误的想法,请分享你的想法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-28 08:45:50

这听起来像是normalizePath和这里之间的斗争(参见另一个示例这里)。不要使用相对路径(如"tmap_folder/example_map.html" ),而是使用绝对路径(如C:/users/ycw/tmap_folder/example_map.html )。

票数 2
EN

Stack Overflow用户

发布于 2019-04-08 13:21:11

另一个选项似乎是使用here包。这样,您就不必指定完整的路径,您的代码可能更易于移植,可以更好地使用rstudio项目和Rmarkdown。

代码语言:javascript
复制
# Save the HTML object in "tmap_folder" with here package
library(here)
save_tmap(example_map, here("tmap_folder","example_map.html"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42793315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档