手动在leaflet中添加图例数值

13

我正在Leaflet中绘制来自英国不同选举的结果,并在图例上遇到了一些问题。

对于大选中的各种结果,我使用相同的颜色函数,但为不同的数据使用不同的域(如图片中的黄色->紫色比例尺)

这是通过以下方式创建的(以前两个为例):

labvotescols <- colorNumeric(
  c("Yellow", "Purple"),
  domain = Westminster$LabourVotes,
  ukipvotescols <- colorNumeric(
    c("Yellow", "Purple"),
    domain = Westminster$UKIPVotes,

现在我有这个传说

map = map %>% addLegend("bottomright", pal = ukipvotescols, values = Westminster$UKIPVotes,
                    title = "(e.g.) % voting UKIP at GE2015",
                    opacity = 1)

作为其中一个例子,但实际上我想要摆脱图例上的所有值,只在黄色端显示“更少”,在紫色端显示“更多”。这可能吗? 显示比例尺的地图图片

我尝试了一些方法,然后搜索了一下,但都没有成功。


我有一种感觉,考虑到addLegend计算渐变的断点/标签等,它不会让你在那里放置一个字符串。 - Akhil Nair
我在这里提供了类似的答案:链接1链接2。或许你可以从这些解决方案中整合出一些有用的内容。 - SymbolixAU
1个回答

17

您可以将其从黄色->紫色比例更改为自己的比例:

map %>%
  addLegend("bottomright", 
            colors = c("#FFC125",  "#FFC125", "#8A4117", "#7D0552", "#571B7E"),
            labels = c("less", "", "", "", "more"),
            title = "(e.g.) % voting UKIP at GE2015",
            opacity = 1)
如果您选择正确的颜色,它应该看起来相似。这不是您寻找的答案,但这是一个很好的解决方法。您的输出将类似于此:
enter image description here
多花些时间寻找更好的颜色过渡效果,您可以获得类似于顶部黄紫色调的图例。

2
mypal <- colorNumeric(c("黄色", "紫色"),
domain = df$values, na.color = "黑色") 对于调色板,以及map = map %>% addLegend("bottomright", pal = mypal, values = df$values, title = "量化数据标题", opacity = 1, labFormat = function(type, cuts, p) { n = length(cuts) cuts[n] = "更多" for (i in 2:(n-1)){cuts[i] = ""} cuts[1] = "更少" paste0(cuts[-n], cuts[-1])}) 对于图例,这对我很有用。我会把它留在这里,以防有人来寻找。我相信它存在一些问题,但到目前为止,它一直保持着良好的状态。
- Robert Hickman
1
@John Friel,好的回答,OP应该接受并关闭这个问题。 - nate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接