组合晶格图在x轴上产生空隙

时间:2014-04-01 19:48:43

标签: r lattice

我正在尝试使用晶格创建组合条和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))

enter image description here

此图不能令人满意,因为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))

enter image description here

该图不满意,因为它有两个x轴。

(我问过一个较早但不同的question试图解决这个问题。)

1 个答案:

答案 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