用于镶嵌水平图的通用比例尺

时间:2015-01-14 16:13:25

标签: r lattice

我想在一个图中有多个热图/水平图,带有通用比例尺。我已经安排了这些情节,我想我已接近答案,但我想确保我不会把规模搞得一团糟。

#Fake data
library(gridExtra)
fill = rnorm(100,4)
matA = matrix(fill, ncol=10)
matB = matrix(fill * 2, ncol=10)

# Plotting
a=levelplot(matA, colorkey=FALSE)
b=levelplot(matB, colorkey=list(col=rainbow(1000), at=seq(0,6, length.out=1000)))

grid.arrange(a,b,ncol=2)

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您可以重新排列数据,而不是使用grid.arrange,以便能够使用formula中的x levelplot方法。这使您可以使用具有共同比例的分组变量g轻松创建具有不同面板的绘图。这里g('L1')对应于不同的矩阵。

library(reshape2)
library(lattice)

# put your matrices in a list an melt them to one data frame.
l <- list(matA, matB)
df <- melt(l)

# plot
levelplot(value ~ Var1 * Var2 | L1, data = df,
          col.regions = rainbow(100))

enter image description here