R 使用levelplot的光栅中的重叠点(或符号)
我想寻求一些帮助来绘制转换为光栅的矩阵,并用另一个符号覆盖。为此,我尝试使用layer和sp.points,就像我读过的几个例子一样……但我对这一点不太熟悉,我遗漏了一些东西。这将是主要的想法。我将举一个可重复的例子,因为实际数据更复杂R 使用levelplot的光栅中的重叠点(或符号),r,R,我想寻求一些帮助来绘制转换为光栅的矩阵,并用另一个符号覆盖。为此,我尝试使用layer和sp.points,就像我读过的几个例子一样……但我对这一点不太熟悉,我遗漏了一些东西。这将是主要的想法。我将举一个可重复的例子,因为实际数据更复杂 #Create 1 matrix m1 <- matrix(runif(100),nrow=10,ncol=20) #create 2 matrix m2 <- matrix(1:4,
#Create 1 matrix
m1 <- matrix(runif(100),nrow=10,ncol=20)
#create 2 matrix
m2 <- matrix(1:4,nrow=10,ncol=20)
#Convert to raster
M1<- stack(raster(m1))
#plot
p<-levelplot(M1, margin=FALSE)
#For the second matrix
xy<-melt(m2)
#Add the layer
p +layer(sp.points(xy, pch=1:4)
我知道这是错误的…但我不知道如何绘制它。。。
如有任何建议,将不胜感激
提前谢谢 以下是一些可能有用的想法/备选方案:
m1 <- matrix(runif(100),nrow=10,ncol=20)
m2 <- matrix(1:4,nrow=10,ncol=20)
library(raster)
M1 <- raster(m1)
M2 <- raster(m2)
plot(M1)
text(M2)
pts <- cbind(xyFromCell(M1, 1:ncell(M1)), value=as.vector(t(m2)))
plot(M1)
cols=rainbow(4)[pts[,3]]
points(pts)
points(pts, col=cols, pch=20)
xy <- SpatialPoints(pts[,1:2])
library(rasterVis)
p <-levelplot(M1, margin=FALSE)
p + layer(sp.points(xy, pch=1:4))
spplot(M1, sp.layout = list("sp.points", xy, pch=1:4))
好主意!!谢谢!!这似乎适用于我的真实数据:,两种情况都很完美..我可以使用数字或符号!,再次感谢!