传单未在动态生成的R标记html中呈现
我创建了一个R降价报告,其中动态创建了节和选项卡集 我有一个问题,传单地图不是在输出中生成的,而是一个空白区域。但是,它们在R studio中渲染 这是一个显示输出当前外观以及应该外观的图像 以下是我尝试过的代码:传单未在动态生成的R标记html中呈现,r,leaflet,maps,R,Leaflet,Maps,我创建了一个R降价报告,其中动态创建了节和选项卡集 我有一个问题,传单地图不是在输出中生成的,而是一个空白区域。但是,它们在R studio中渲染 这是一个显示输出当前外观以及应该外观的图像 以下是我尝试过的代码: {r, echo = FALSE, results='asis', warning=FALSE, message=FALSE} for (estates in filtered_list){ map_data <- x_estates %>% filter(Stree
{r, echo = FALSE, results='asis', warning=FALSE, message=FALSE}
for (estates in filtered_list){
map_data <- x_estates %>% filter(Street_Postcode == estates)
cat("###", estates, "{.tabset .tabset-fade .tabset-pills}", "\n")
cat("\n\n\n")
cat("This is where the map will go ")
# generate leaflet plot (doesn't even show white space if not stored in tagList)
page <- tagList(
leaflet() %>% addTiles() %>%
addMarkers(map_data$Longitude, map_data$Latitude)
)
### options i've tried for getting the Leaflet map to plot correctly
page
print(page)
print(page[[1]])
page[[1]]
print(
tagList(
page[[1]]
))
print(
tagList(
page
))
### end
cat("\n\n\n")
for (major in Major$Titles) {
cat("####", major, "\n")
cat("\n\n\n")
#####
rest of code
#####
}
}
显示带有3组坐标的示例的最小代码
long <- as.numeric(c("0.005638", "0.005648", "0.005658"))
lat <- as.numeric(c("51.62879", "51.62889", "51.62879"))
data1 <- data.frame(long, lat)
filtered_list <- 1:3
cat("## Tabs {.tabset .tabset-fade .tabset-pills}", "\n")
for (estates in filtered_list){
cat("###", estates, "\n")
cat("\n\n\n")
cat("This is where the map will go ")
cat("1 ")
# generate leaflet plot (doesn't even show white space if not stored in tagList)
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R")
)
cat(as.character(page))
cat("2 ")
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R", clusterOptions = markerClusterOptions())
)
cat(as.character(page))
cat("3 ")
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R") %>%
addHeatmap(
lng = data1$lat, lat = data1$long,
blur = 20, max = 5, radius = 40
)
)
cat(as.character(page))
cat("4 ")
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R") %>%
addHeatmap(
lng = data1$lat, lat = data1$long,
blur = 20, max = 5, radius = 40
)
)
cat(as.character(page))
}
long这是一个与上述类似的问题
尝试:
---
标题:“测试传单标签”
输出:html\u文档
---
`r knitr::opts_chunk$set(echo=FALSE、warning=FALSE、message=FALSE、cache=F)`
```{r设置,include=FALSE}
图书馆(单张)
传单()
```
```{r,results='asis'}
过滤列表我有一个类似的问题,通过将传单放入小部件框架解决了这个问题
l <- leaflet() %>%
addTiles() %>%
addMarkers(map_data$Longitude, map_data$Latitude)
widgetframe::frameWidget(l, width = "100%")
l%
addTiles()%>%
添加标记(地图数据$经度,地图数据$纬度)
widgetframe::frameWidget(l,width=“100%”)
这具有保存html分幅以用于渲染的效果。我敢肯定它只是用HMTL标签将传单包裹起来。您是否查看过以下内容:?我认为使用mapshot或webshot与此相关。我认为这将解决问题。我已经尝试过了,并且取得了一些进展。传单地图现在以交互方式显示,尽管所有的图都是相同的。大概是因为我正在覆盖地图html。我们将进一步探讨这一点。我已经更新了上面的代码,谢谢分享。我确实尝试过,不幸的是,我经历了同样的白盒。它呈现为空白,尽管在检查元素时“出现”:是否在init chunck中运行过一次传单()?在我的系统(Win 10/R 4.0.2)上共享工作的示例StackOveflow上的标记复制很棘手:我编辑了我的答案,因为第一次尝试时反勾号消失了,应该工作得更好,我将您的代码复制到一个新文档中,它工作得很好。然后我一部分一部分地粘贴代码,以确保它仍然有效,现在它确实有效了。我不知道您的代码的哪一方面解决了我的问题,也许它确实是init块中的传单()。非常感谢你,我昨天花了6个小时来挠头。我的链接错了,你可以在这里阅读解释
long <- as.numeric(c("0.005638", "0.005648", "0.005658"))
lat <- as.numeric(c("51.62879", "51.62889", "51.62879"))
data1 <- data.frame(long, lat)
filtered_list <- 1:3
cat("## Tabs {.tabset .tabset-fade .tabset-pills}", "\n")
for (estates in filtered_list){
cat("###", estates, "\n")
cat("\n\n\n")
cat("This is where the map will go ")
cat("1 ")
# generate leaflet plot (doesn't even show white space if not stored in tagList)
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R")
)
cat(as.character(page))
cat("2 ")
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R", clusterOptions = markerClusterOptions())
)
cat(as.character(page))
cat("3 ")
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R") %>%
addHeatmap(
lng = data1$lat, lat = data1$long,
blur = 20, max = 5, radius = 40
)
)
cat(as.character(page))
cat("4 ")
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=data1$long, lat=data1$lat, popup="The birthplace of R") %>%
addHeatmap(
lng = data1$lat, lat = data1$long,
blur = 20, max = 5, radius = 40
)
)
cat(as.character(page))
}
---
title: "Test Leaflet Tabs"
output: html_document
---
`r knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE, cache = F)`
```{r setup, include=FALSE}
library(leaflet)
leaflet()
```
```{r,results='asis'}
filtered_list <- 1:3
cat("## Tabs {.tabset .tabset-fade .tabset-pills}", "\n")
for (estates in filtered_list){
cat("###", estates, "\n")
cat("\n\n\n")
cat("This is where the map will go ")
# generate leaflet plot (doesn't even show white space if not stored in tagList)
page <- htmltools::tagList(
leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")
)
cat(as.character(page))
}
```
l <- leaflet() %>%
addTiles() %>%
addMarkers(map_data$Longitude, map_data$Latitude)
widgetframe::frameWidget(l, width = "100%")