gpt4 book ai didi

r - 当编织 rmd 时,html 文件不显示交互式传单 map

转载 作者:行者123 更新时间:2023-12-04 15:52:40 25 4
gpt4 key购买 nike

我正在尝试使用“mapview”和“purrr”在交互式 map 上绘制空间数据。在 .rmd 中使用 Rstudio 时 map 可见,但在编写 html 时不可见。 “ggplot2”支持这种在 rmd 中呈现数据的方式,因此我认为以 html 格式导出 map 会很有用。

示例数据:

library(mapview)
library(dplyr)
library(purrr)

df <- data.frame(lon = 1:9,
lat = 1:9,
id = c(rep(1,5), rep(2,4))) %>%
st_as_sf(coords = c("lon", "lat"), crs = 4326)

# split dataframe in multiple datasets (to produce multiple plots for each group of data)
df <- split(df, df$id)

当尝试使用“purrr”和“mapview”在 html 中绘制时:

df %>% map(mapview)

html 格式的输出:

enter image description here

Rstudio中的输出(两种图都有): enter image description here

最佳答案

您可以使用 htmltools::tagList(),请参阅:How to render leaflet-maps in loops in RMDs with knitr

如果你想使用 tidyverse:

---
title: "R Notebook"
output:
html_document
---


```{r}
library('tidyverse')
library('sf')
library('mapview')
library('htmltools')

# create data set
df = data.frame(lon = 1:9,
lat = 1:9,
id = c(rep(1,5), rep(2,4))) %>%
st_as_sf(coords = c("lon", "lat"), crs = 4326)

# split dataframe in multiple datasets (to produce multiple plots for each group of data)
df = split(df, df$id)



# create maps
df_maps = df %>%
purrr::set_names() %>%
map(.x = .,
.f = mapview) %>%
map(.x = ., slot, name = "map")

# add html headers
df_maps =
imap(.x = df_maps,
.f = function(x, y) {
list(h4(paste("Subset:", y)),
x)
}) %>%
flatten()

# for printing the maps
tagList(df_maps)
```

关于r - 当编织 rmd 时,html 文件不显示交互式传单 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53226162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com