Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Manually adding legend values in leaflet

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.

like image 264
Robert Hickman Avatar asked Jul 02 '16 14:07

Robert Hickman


1 Answers

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. Your 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.

like image 116
jpf5046 Avatar answered Oct 11 '22 21:10

jpf5046