How to manipulate the tmap legend?

I am creating a thematic map of percent per year for species of birds. here is the code i have:

tm_shape(grid83)+ tm_fill("trend", title = "Percent change per Year", textNA = "None counted", style="fixed", breaks=c(-Inf, -1.5, -0.25, 0.25, 1.5, Inf), palette = c("red", "orange", "yellow", "turquoise", "blue", "white"))+ tm_borders(NA)+ tm_shape(uscan83)+ # add US and CAN tm_borders()+ tm_layout( "Western Grebe", legend.title.size=1, legend.text.size = 0.6, legend.position = c("left","bottom"), legend.bg.color = "white", legend.digits = 5, legend.bg.alpha = 1) 

Currently, all NA values ​​are grayed out. I tried changing the color palette:

 palette = c("red", "orange", "yellow", "turquoise", "blue", "white")) 

but this does not seem to work. NA values ​​are still gray. What am I doing wrong?

Thank you very much!

+5
source share
1 answer

So, are you trying to change the color specifically for NA values? The colorNA argument for tm_fill() serves this purpose.

Here is an example:

 library(tmap) data(Europe) tm_shape(Europe) + tm_fill("gdp_cap_est", title = "GDP", style = "fixed", breaks = c(0, 10000, 20000, 30000, 40000, Inf), textNA = "Dunno", colorNA = "green", # <-------- color for NA values palette = c("red", "orange", "yellow", "turquoise", "blue", "white")) + tm_borders() + tm_layout("Wealth (or so)", legend.title.size = 1, legend.text.size = 0.6, legend.position = c("left","bottom"), legend.bg.color = "white", legend.digits = 5, legend.bg.alpha = 1) 

It looks like this:

enter image description here

+6
source

Source: https://habr.com/ru/post/1232730/


All Articles