组合格子图在x轴上产生空的间隙

问题描述:

我正在尝试使用两个图共享x轴的格来创建组合的柱和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结合曲线时增加了额外的空隙为1至10的x轴。这些差距不会出现在各个构成地块上。

如何从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试图解决这个问题)。

也许你需要从两个地块的相同因子水平开始。

# 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