Manually adding legend values in leaflet

2019-05-07 17:52发布

I'm plotting results from various British elections in Leaflet and ran into a bit of a problem with legends.

For the various results in the general election I'm using the same colour function with different domain for the different data (the yellow-> purple scale in the picture)

This is created with (for the first two as examples):

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

and so on...

Currently I have the legend

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

as one example of this, but really I'd like to get rid of all the values on the legend and just have "less" at the yellow end and "more" at the purple end. Is this possible? map picture showing the scale

I tried playing around and then googling but to no avail.

1条回答
兄弟一词,经得起流年.
2楼-- · 2019-05-07 18:35

You could change it from a yellow->purple scale and make your own scale:

map = map %>% addLegend("bottomright", 
  colors =c("#FFC125",  "#FFC125", "#8A4117", "#7D0552", "#571B7E"),
  labels= c("less", "","","","", "more"),
  title= "(e.g.) % voting UKIP at GE2015"
  opacity = 1)

If you get the correct colors then it should look similar. Not the answer you were looking for, but it's a good workaround. You're output would look like this:

enter image description here

Spend more time looking for better color transition and you could get a legend that looks similar to the yellow-purple color pallet you have up top.

查看更多
登录 后发表回答