使用下面的示例数据,如何使用与下面显示的“手动”连接图中相同的颜色键生成栅格和空间点图?
library(rasterVis)
library(raster)
library(colorRamps)
col=colorRampPalette(matlab.like2(255))
s <- stack(replicate(2, raster(matrix(runif(100), 10))))
xy <- data.frame(coordinates(sampleRandom(s, 10, sp=TRUE)),
z1=runif(10), z2=runif(10))
levelplot(s, margin=FALSE, at=seq(0, 1, 0.05),col.regions=col)
x=xy$x;y=xy$y;z=xy$z1
levelplot(z ~ x + y,contour=F, panel = panel.levelplot.points,
margin=FALSE,col.regions=col,
par.settings=list(axis.line=list(lwd=3), strip.border=list(lwd=3)),
cex=1.4, scales=list(x=list(cex=1.7),y=list(cex=1.7)),xlab=list(label="Longitude",cex=2),
ylab=list(label="Latitude",cex=2))
感谢@fdestch我能够使用以下方式生成以下图:
latticeCombineGrid(mget(rep("pp", 24)), layout = c(3, 8))
跟随我对使用相同颜色键打印多个图表的评论。
一个有待澄清的问题:
1)如何决定面板的顺序?也就是说,哪一排&amp;使用levelplot
与index.cond
一样放置特定情节的列。
答案 0 :(得分:2)
首先,您应该确保点图中的断点与第一个levelplot
中定义的断点相同。
## raster plot with colorkey disabled
pr <- levelplot(s, margin = FALSE, at = seq(0, 1, 0.05), col.regions = col,
colorkey = FALSE, xlab = list("Longitude", col = "transparent"))
## points plot
pp <- levelplot(z ~ x + y, panel = panel.levelplot.points, cex = 1.4,
contour = FALSE, margin = FALSE, col.regions = col,
colorkey = list(at = seq(0, 1, .05), width = .6, height = .6),
xlab = "Longitude", ylab = "Latitude")
创建栅格图时请注意透明xlab
的定义。稍后使用downViewport
确保pr
和pp
的实际绘图边界重叠(在{{{{}}}之后立即运行grid.rect()
时,这个小解决方法非常方便1}}看看我的意思)。
通过使用 grid 包中的视口,可以轻松实现实际的绘图排列。
print(pr, newpage = FALSE)
答案 1 :(得分:1)
以下是我使用$("body").on("click",".parentClass .currentClass",function() {
$("#show2").append($("<div/>", {
id: "filediv"
}).fadeIn("slow").append($("<input/>", {
name: "file[]",
type: "file",
id: "file"
}));
});
的解决方案:
latticeExtra::c.trellis
使用library(raster)
library(rasterVis)
s <- stack(replicate(2, raster(matrix(runif(100), 10))))
xy <- data.frame(coordinates(sampleRandom(s, 10, sp=TRUE)),
z1=runif(10), z2=runif(10))
## Define theme and breaks
myTheme <- BTCTheme()
my.at <- seq(0, 1, 0.05)
:
Raster*
对象
rasterVis::levelplot
使用p1 <- levelplot(s, margin=FALSE,
at = my.at,
par.settings = myTheme)
:
lattice::levelplot
加入p2 <- levelplot(z1 ~ x + y, data = xy,
at = my.at,
panel = panel.levelplot.points,
par.settings = myTheme)
:
latticeExtra::c.trellis
不幸的是,p3 <- c(p1, p2, layout = c(3, 1))
没有正确分配条带标签,因此您必须直接定义它们:
c.trellis