Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
传单未在动态生成的R标记html中呈现_R_Leaflet_Maps - Fatal编程技术网

传单未在动态生成的R标记html中呈现

传单未在动态生成的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降价报告,其中动态创建了节和选项卡集

我有一个问题,传单地图不是在输出中生成的,而是一个空白区域。但是,它们在R studio中渲染

这是一个显示输出当前外观以及应该外观的图像

以下是我尝试过的代码:

{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%")