2017-10-04 1 views
0

Ich habe mit dem leaflet-Paket herumgespielt und kann keine richtige Legende für ein Raster erstellen.Leaflet: Benutzerdefinierte Platzierungslegende für Raster

Das Problem ist, wie folgt: Ich habe eine informative Karte mit diesem Code erstellt:

Rasterdatei: https://drive.google.com/open?id=0B7mw858dxh5MODZqSHNHbFR3clU

library(raster) 
library(leaflet) 
r <- raster('raster.tif') 
colores <- c('red', 'green', 'blue', 'chocolate', 'deeppink', 'grey') 
at <- seq(0, 4800, 800) 
cb <- colorBin(palette = colores, bins = length(at), domain = at) 

leaflet() %>% 
    setView(-67.5,-16, zoom = 7) %>% 
    addRasterImage(r, colors = cb) %>% 
    addLegend(pal = cb, values = at) 

Variable r ist ein Raster mit Niederschlagsdaten 171-4667 mm reicht /Jahr.

Ausgang:

https://i.imgur.com/bt7Ew6O.png

Ich will eine Legende mit 6 Bins erhalten unter Verwendung der auf die Variable colores geben Farben aber die Ausgabe zeigt 10 Bins die Bereiche ignoriert ich an die at Variable übergeben.

Wie soll ich erreichen, was ich will?

+0

können Sie ein reproduzierbares Beispiel bieten ersetzen? – TimSalabim

+0

@TimSalabim Rasterdatei und Ausgabe hinzugefügt. Ich hoffe es hilft. – noriega

Antwort

1

Sie müssen einfach length(at) mit at in Ihrem colorBin Anruf

library(raster) 
library(leaflet) 
r <- raster('raster.tif') 
colores <- c('red', 'green', 'blue', 'chocolate', 'deeppink', 'grey') 
at <- seq(0, 4800, 800) 
cb <- colorBin(palette = colores, bins = at, domain = at) 

leaflet() %>% 
    setView(-67.5,-16, zoom = 7) %>% 
    addRasterImage(r, colors = cb) %>% 
    addLegend(pal = cb, values = at) 
+0

Das hat funktioniert. Danke. – noriega

Verwandte Themen