2014-04-01 29 views
0

我正在嘗試使用兩個圖共享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試圖解決這個問題)。

回答

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