我正在使用R闪亮仪表板显示天气栅格文件。我使用colorQuantile作为显示颜色的方法。在图例中,它显示了百分比。正如您在下图中看到的。我希望图例中的标签显示每个容器的值范围。我不确定该怎么做。
这是我的服务器。R
output$weather_map <- renderLeaflet({
rw = weatherband()
if (!is.null(rw)) {
pal_w = colorQuantile('RdYlGn', values(rw), na.color = 'transparent', n = 7)
leaflet() %>%
addTiles() %>%
addRasterImage(rw, colors = pal_w, opacity = 0.5) %>%
addLegend(position = 'topright', pal = pal_w, value = raster::values(rw), opacity = 1)
}
})
注意:rw是光栅图像。
提前谢谢!
答案 0 :(得分:1)
当我需要调整leaflet
中的标签时,我退回到使用参数colors
和labels
代替pal
和values
。好处是您可以自定义缺点是多行代码。
由于我无权访问rw
,因此我抓到了我最喜欢的地图示例:
library(sf)
nc <- st_read(system.file("shape/nc.shp", package="sf"))
然后使用leaflet
备用模式来自定义图例标签:
library(leaflet)
qpal <- colorQuantile("RdYlBu", nc$AREA, n = 5)
# the extra code building off the existing pal
qpal_colors <- unique(qpal(sort(nc$AREA))) # hex codes
qpal_labs <- quantile(nc$AREA, seq(0, 1, .2)) # depends on n from pal
qpal_labs <- paste(lag(qpal_labs), qpal_labs, sep = " - ")[-1] # first lag is NA
map %>%
addPolygons(stroke = FALSE, smoothFactor = 0.2, fillOpacity = 1,
color = ~qpal(AREA)
) %>%
addLegend(colors = qpal_colors, labels = qpal_labs, opacity = 1)