我正在尝试使用晶格创建组合条和xyplot,其中x轴由两个图共享。
require(lattice)
require(latticeExtra)
dd <- data.frame(Year = factor(1990:1999), Count = 0:9, Size = 9:0)
p1 <- barchart(Count ~ Year, data = dd, horizontal = FALSE)
p2 <- xyplot(Size ~ Year, data = dd)
c(p1,p2, x.same = TRUE, layout = c(1,2))
此图不能令人满意,因为latticeExtra
在组合图时会为x轴增加1和10的额外间隙。这些差距不会出现在各个构成图上。
如何从x轴上删除1和10?
正如我所指出的,我可以通过删除x.same
参数来解决此特殊情况下的问题。然而,这不是一般解决方案,只能起作用,因为我的例子并不令人满意。一个改进的例子如下所示。
dd1 <- data.frame(Year = factor(1990:1999), Count = 0:9)
p1 <- barchart(Count ~ Year, data = dd1, horizontal = FALSE)
dd2 <- data.frame(Year = factor(1991:2000), Size = 0:9)
p2 <- xyplot(Size ~ Year, data = dd2, type = "o")
p2
删除x.same
会产生:
c(p1,p2, layout = c(1,2))
该图不满意,因为它有两个x轴。
(我问过一个较早但不同的question试图解决这个问题。)
答案 0 :(得分:2)
也许您需要从两个图中的相同因子水平开始。
# Using factors
dd1 <- data.frame(Year = factor(1990:2000), Count = c(0:9,NA))
p1 <- barchart(Count ~ Year, data = dd1, horizontal = FALSE)
dd2 <- data.frame(Year = factor(1990:2000), Size = c(NA,0:9))
p2 <- xyplot(Size ~ Year, data = dd2, type = "o")
p2
c(p1,p2, layout = c(1,2)) # works