问题
I have a simple question: How does one remove an automatically added legend in tmap in R?
In this case, I want to remove that legend on the right, depicting 'level'.
Here's what I've tried:
tm_shape(densities$polygons)+
tm_polygons(col='level', palette='Reds', alpha=0.5, border.col = 'transparent') +
tm_legend(show=FALSE)
I have also tried:
tm_shape(densities$polygons)+
tm_polygons(col='level', palette='Reds', alpha=0.5, border.col = 'transparent') +
tm_layout(legend.show=FALSE)
Not sure why but none of these removes the legend. Would appreciate any solutions, thank you!
回答1:
Try this:
library(tmap)
tmap_mode("view")
tm_shape(densities$polygons) +
tm_polygons(col = "plz", legend.show = FALSE)
tm_layout() doesn't work in your case because you are in view-mode. Several other options for the legend in view mode won't work with tm_layout either, such as legend.position = (there is tm_view() for this)
If you switch to tmap_mode("plot") your code will work.
回答2:
Instead of tm_polygons use tm_fill(title = "") to remove the legend title. This worked for me.
来源:https://stackoverflow.com/questions/57031445/remove-legend-in-tmap-in-r