Ich versuche, eine Karte von ggmap vor einem Raster zu plotten. Diese Karte hat eine Menge weißer Fläche, also wollte ich die weiße Fläche transparent machen, so dass ich die restlichen Elemente mit ggplot über einem bunten Raster darstellen kann. Hier ist die Karte:plot ggmap Bild über Raster
Fulanus_bbox <- c(left = 17.250000, bottom = -3.916667, right = 36.916667, top = 8.416667)
Fulanus_big <- ggmap::get_map(location = Fulanus_bbox, source = "stamen", maptype = "toner-lite")
map <- ggmap::ggmap(Fulanus_big)
map
Alles, was ich von waren diese beiden Lösungen denken konnte, was ich nicht erwartet hatte, zu arbeiten und sie tat es nicht. Ich habe versucht, auf der Karte um die Hex-Codes ersetzt:
map_colors <- map$layers[[2]]$geom_params$raster
map_colors[map_colors == '#FFFFFF'] <- '#00FFFFFF'
map$layers[[2]]$geom_params$raster <- map_colors
map
Ich habe auch versucht, die Farben in einem Raster-Umwandlung zu sehen, ob das Muster beibehalten wurde:
maprow <- nrow(map_colors)
mapcol <- ncol(map_colors)
map_factors <- as.factor(map_colors)
map_numeric <- as.numeric(map_factors)
map_matrix <- matrix(map_numeric, nrow = maprow, ncol = mapcol)
map_raster <- raster::raster(map_matrix)
map_raster <- raster::setExtent(map_raster, Fulanus_bbox)
raster::crs(map_raster) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 "
raster::plot(map_raster)
Ist das möglich zu machen? Wenn es ist, wie?
Probieren Sie '# FFFFFF00' anstatt '# 00FFFFFF' –
Danke! Ich dachte, der Code für Alpha kam zuerst –