Получается, что порядок печати по умолчанию является исходным порядком строк фрейма данных. Чтобы отобразить категории в правильном порядке, я создаю числовую факторную переменную для категорий и сортирую по ней исходный фрейм данных.
libary(tmap)
library(sp)
library(dplyr)
data("meuse")
meuse <- meuse %>%
mutate(cat = base::cut(cadmium, breaks = c(-Inf,1,2,3,4,Inf),
labels = c(1,2,3,4,5))) %>%
arrange(cat)
coordinates(meuse) <- c("x","y")
tm_layout() +
tm_shape(meuse) + tm_dots("cadmium", breaks = c(1,2,3,4,Inf), palette = "-Spectral", auto.palette.mapping = FALSE,
size = 1) +
tm_legend(legend.outside = TRUE)