我有以二进制编码的栅格数据,我想使用包levelplot
中的rasterVis
来绘制数据,这样 0 值是绿色,1 值是红色。我似乎找不到如何为值指定颜色。
举个例子,
# create a matrix with 0s and 1s
nr <- 21
nc <- 11
m <- matrix(sample(0:1, nr*nc, replace=TRUE), nr, nc)
# plot the matrix
colour <- c("green", "red")
levelplot(m, col.regions=colour, margin = FALSE)
哪个工作正常,并产生这个 二进制矩阵
但如果我有恰好全为 0 或全为 1 的矩阵,
m2 <- matrix(0, nr, nc)
levelplot(m2, col.regions=colour, margin = FALSE)
m3 <- matrix(1, nr, nc)
levelplot(m3, col.regions=colour, margin = FALSE)
我得到相同的情节,当我想要的是 0 值是绿色和 1 值是红色时。
我如何指定,如果它是 0,它会变成绿色,如果它是 1,它会变成红色?