Reputation: 3388
I'm assuming the Raster package has what I need... I'm simply wanting to invert the colors in a Raster image.
The actual scenario is this: I want to invert the raster image returned by a ggmap call:
library(ggmap)
ggmap(get_stamenmap(maptype = "toner"))
I want to invert the colors to get a white-on-black version of the Stamen Toner map:
Upvotes: 6
Views: 1366
Reputation: 68849
This inverts the raster
object returned by get_stamenmap()
library("ggmap")
m <- get_stamenmap(maptype = "toner")
# invert colors in raster
invert <- function(x) rgb(t(255-col2rgb(x))/255)
m_inv <- as.raster(apply(m, 2, invert))
# copy attributes from original object
class(m_inv) <- class(m)
attr(m_inv, "bb") <- attr(m, "bb")
ggmap(m_inv)
Upvotes: 11