【发布时间】:2017-11-08 19:14:01
【问题描述】:
我正在创建一个图例来区分两组圆形标记,它们通过 fillOpacity = 1(填充)或 fillColor = "white"(空)来区分,对应于具有两个级别的 df$aircraft 列。我希望图例有一个填充和空标记来匹配每个。
这似乎是一件简单的事情,但the other question 提出这个问题并没有得到答案。我尝试修改函数/CSS 样式found here,但未能成功分别更改每个图例标记的不透明度或保持笔触颜色(只有内部应该为空)。
这是生成简单地图的代码,标记显示我希望图例的外观(图例不显示):
library(shiny)
library(leaflet)
# create data
df<-data.frame(x=runif(10,20,21), y=runif(10,0,1))
df$aircraft[1:5] <- "C130"
df$aircraft[5:10] <- "B200"
# create map
map = leaflet() %>% addTiles()
# set up shiny app
ui <- leafletOutput("myMap")
server <- function(input, output, session){
df_c <- filter(df,df$aircraft == "C130")
df_b <- filter(df,df$aircraft == "B200")
output$myMap = renderLeaflet({map %>%
addCircleMarkers(df_c$x,df_c$y, radius=10, opacity = 1, fillColor = "white") %>%
addCircleMarkers(df_b$x,df_b$y, radius=10, opacity = 1, fillOpacity = 1)
%>%
addLegend(colors = c("blue", "blue"), labels = c("C130", "B200"))
})
}
shinyApp(ui, server)
感谢您的帮助。
【问题讨论】:
-
图例中的方框应该换成相应的圆圈吧?