【发布时间】:2020-08-28 18:50:22
【问题描述】:
我一直在尝试渲染我在闪亮的仪表板选项卡框中创建的传单地图。传单代码在常规脚本中运行良好,地图在查看器中呈现。但是,当我将我的代码添加到 ui.r 和 server.r 时,我得到的只是仪表板中应该存在地图的空白区域。我没有收到任何错误,所以我很难弄清楚可能出了什么问题。我读过当指定地图的高度和宽度时,闪亮有时会出现问题,但我保留了这个默认值,所以我认为这不是问题。我唯一能想到的另一件事是,我正在使用的包中的一些对象被屏蔽了,并且我的一些包不是最新的。我不知道这是否会导致这个问题。
这是我的代码:
library(shiny)
library(shinydashboard)
library(leaflet)
library(tigris)
library(dplyr)
library(tidyverse)
library(leaflet.extras)
library(rmapshaper)
library(rsconnect)
library(plotly)
library(ggplot2)
library(rgdal)
library(htmltools)
library(shinyWidgets)
library(DT)
melanoma_incidence <- read_excel("Incidence_data.xlsx")
US_states <- tigris::states()
US_Join <- geo_join(US_States, Melanoma_Incidence, by_sp = "GEOID", by_df = "stateFIPS")
US_Join <- subset(US_Join, !is.na(Value))
pal <- colorNumeric("Reds", domain = US_Join$Value)
labels <- sprintf(
"<strong>%s</strong><br/>%g",
US_Join$State, US_Join$Value) %>% lapply(htmltools::HTML)
ui.r
shinyUI(
dashboardPage(
dashboardHeader(title = "UV and Skin Cancer"),
dashboardBody(
tabItems(
tabItem(tabName = "Homepage", h2("UV Exposure and Melanoma"),
tabItem(tabName = "Homepage",
fluidRow(
tabBox(id="National Map",
tabPanel("Melanoma Incidence", leafletOutput("mymap"))
))))))))
server.r
shinyServer(function(input, output) {
output$mymap <- renderLeaflet({
leaflet() %>% addProviderTiles(providers$CartoDB.Positron) %>%
setView(-96, 37.8, 4) %>%
addPolygons(data = US_Join,
fillColor = ~pal(US_Join$Value),
fillOpacity = 0.9,
weight = 0.2,
smoothFactor = 0.2,
label = labels,
labelOptions = labelOptions(
style = list("font-weight" = "normal", padding = "3px 8px"),
textsize = "15px",
direction = "auto")) %>%
addLegend(pal = pal,
values = US_Join$Value,
position = "bottomright",
title = "Incidence")
})
}
)
代码运行,但我的闪亮仪表板中出现了一个空白区域。我在下面贴了一张图片。
有人知道为什么我的地图没有渲染吗?没有错误消息,我不知所措。任何帮助表示赞赏。编辑:我添加了其余的代码和数据。
【问题讨论】:
-
曾经解决过这个问题吗?我也有类似的
标签: r shiny leaflet shinydashboard