更改tmap map R中数据类别的绘制顺序
Change plotting order of categories of data in tmap map R
我正在使用 tmap
包在 R 中绘制一些空间数据。我在 tm_dots
函数中定义了 breaks 和 plot color。我希望能够定义类别的绘图顺序,以便它们由类别定义(最高类别在顶部,第二高类别,等等)。我需要能够清楚地看到最高类别点在哪里。我知道这可以通过多个空间点数据帧来实现,但是还有另一种不那么笨拙的方法吗?下面是一个使用 meuse 数据的例子。我把点变得很大,所以它们重叠了。所以理想情况下,这里的情节顺序是:蓝色、绿色、橙色、红色。
libary(tmap)
library(sp)
data("meuse")
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)
原来默认的绘图顺序是原始数据框的行顺序。为了以正确的顺序绘制类别,我为类别创建了一个数字因子变量,并按它对原始数据框进行排序。
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)
我正在使用 tmap
包在 R 中绘制一些空间数据。我在 tm_dots
函数中定义了 breaks 和 plot color。我希望能够定义类别的绘图顺序,以便它们由类别定义(最高类别在顶部,第二高类别,等等)。我需要能够清楚地看到最高类别点在哪里。我知道这可以通过多个空间点数据帧来实现,但是还有另一种不那么笨拙的方法吗?下面是一个使用 meuse 数据的例子。我把点变得很大,所以它们重叠了。所以理想情况下,这里的情节顺序是:蓝色、绿色、橙色、红色。
libary(tmap)
library(sp)
data("meuse")
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)
原来默认的绘图顺序是原始数据框的行顺序。为了以正确的顺序绘制类别,我为类别创建了一个数字因子变量,并按它对原始数据框进行排序。
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)