如何在flexdashboard中创建带下拉菜单的标签页?
问题修正:Flexdashboard中实现带下拉菜单的标签页
原代码存在的问题
- 错误将子标签标题
### map 3写在了R代码块内部,flexdashboard的标签页标题必须是独立的Markdown标题,不能嵌套在代码块中 - 输出配置中启用了
storyboard: true,该模式与tabset标签页功能冲突,会导致下拉菜单无法正常渲染 - 子标签对应的地图代码没有拆分到各自的代码块中,结构混乱
addMarkers参数拼写错误:clusterOption应为clusterOptions
修正后的完整代码
--- title: "地图展示" output: flexdashboard::flex_dashboard: social: menu source: embed --- ```{r setup, include=FALSE} library(leaflet) library(leaflet.extras) # 设置随机种子保证数据可复现 set.seed(123) # 生成数据 id = 1:1000 long = 2.2945 + rnorm(1000, 0.1085246, 0.1) lat = 48.8584 + rnorm(1000, 0.009036273, 0.1) my_data_1 = data.frame(id, lat, long) id = 1:1000 long = 2.2945 + rnorm(1000, 0.1085246, 0.1) lat = 48.8584 + rnorm(1000, 0.009036273, 0.1) my_data_2 = data.frame(id, lat, long)
Column {.tabset}
标签页1:热力图1
map1 = my_data_1 %>% leaflet() %>% addTiles() %>% addHeatmap(lng=~long, lat=~lat, max=100, radius=20, blur=10) map1
标签页2:切换地图 {.tabset .tabset-dropdown}
热力图2
map2 = my_data_2 %>% leaflet() %>% addTiles() %>% addHeatmap(lng=~long, lat=~lat, max=100, radius=20, blur=10) map2
聚类标记图1
map3 = my_data_1 %>% leaflet() %>% addTiles() %>% addMarkers(clusterOptions=markerClusterOptions()) map3
标签页3:聚类标记图2
map4 = my_data_2 %>% leaflet() %>% addTiles() %>% addMarkers(clusterOptions=markerClusterOptions()) map4
## 关键修改说明 1. 移除`storyboard: true`配置,消除与标签页功能的冲突 2. 将下拉菜单的子标签标题(`#### 热力图2`、`#### 聚类标记图1`)放在代码块外部,确保flexdashboard能识别为下拉选项 3. 修正`addMarkers`的参数拼写错误,保证聚类标记功能正常 4. 拆分每个地图的生成代码到独立的R代码块,逻辑更清晰 5. 添加`set.seed(123)`固定随机数生成结果,方便调试和复现 内容的提问来源于stack exchange,提问作者stats_noob
相关产品推荐
相关产品推荐

