問題描述
我正在 R 中創建傳單地圖 - 我不需要構建一個閃亮的應用程序,并且還沒有解決那個特定的技能集!
我試圖在這里跟隨這篇文章在我的傳奇中創建圈子:
從原始答案中,您省略了一組負責圓形的全局樣式定義.
將 border-radius: 50%;
添加到 colorAdditions
一組 css 樣式中,這是您需要的一種樣式.
這將使:
colorAdditions <- paste0(colors, ";border-radius: 50%; width:", sizes, "px; height:", sizes, "px")
有點hacky,但可以.
I am creating a leaflet map in R - I don't need to build a shiny app, and haven't tackled that particular skill set yet!
I was trying to follow along with this post here to create circles in my legend: Creating legend with circles leaflet R .
However, I'm not sure how to incorporate the tags$style
attribute to my R code as @K. Rhode suggested to ensure the legend items are circles. In my code, the legend comes up with squares. So close!
Can anyone help me nudge this code into making the legend items circles?
library(leaflet)
library(dplyr)
#create data
Points<-data.frame(x=runif(10,20,21), y=runif(10,0,1),
var=c(rep(c(10,20, 40),3), 20))
Points <- Points %>%
mutate(Category = case_when(var == 10 ~ "A",
var == 20 ~ "B",
TRUE ~ "C"),
color = case_when(Category == "A" ~ "blue",
Category == "B" ~ "blue",
TRUE ~ "red"))
map = leaflet() %>%
addTiles()
addLegendCustom <- function(map, colors, labels, sizes, opacity = 0.5){
colorAdditions <- paste0(colors, "; width:", sizes, "px; height:", sizes, "px")
labelAdditions <- paste0("<div style='display: inline-block;height: ",
sizes, "px;margin-top: 4px;line-height: ", sizes, "px;'>",
labels, "</div>")
return(addLegend(map, colors = colorAdditions,
labels = labelAdditions, opacity = opacity))
}
map %>%
addCircleMarkers(Points$x,Points$y,radius=Points$var,
color = Points$color,
stroke = FALSE, fillOpacity = 0.5) %>%
addLegendCustom(colors = c("blue", "blue", "red"),
labels = c("A", "B", "C"), sizes = c(10, 20, 40))
In the legend I'd prefer circle markers... not squares as below!
From the original answer, you omitted one set of global style definition that is responsible for the round shape.
Add border-radius: 50%;
to the colorAdditions
set of css styles, which is the one style you are needing from it.
This would make:
colorAdditions <- paste0(colors, "; border-radius: 50%; width:", sizes, "px; height:", sizes, "px")
A bit hacky, but works.
這篇關于帶有 R 中 addCircleMarkers 的傳單地圖的傳說中的圓圈 - 沒有閃亮的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!