某些樣本數據:您如何爲不同方面設置不同的比例限制?
dfr <- data.frame(
x = rep.int(1:10, 2),
y = runif(20),
g = factor(rep(letters[1:2], each = 10))
)
一個簡單的散點圖有兩個方面:
p <- ggplot(dfr, aes(x, y)) +
geom_point() +
facet_wrap(~ g, scales = "free_y")
我可以爲所有面板軸界限與
p + scale_y_continuous(limits = c(0.2, 0.8))
(或用於此的包裝像ylim
)
但我該如何設置di不同面的不同軸限制?
的latticey的方式做這將是一個列表傳遞給這樣的說法,例如,
p + scale_y_continuous(limits = list(c(0.2, 0.8), c(0, 0.5)))
不幸的是,僅僅罰全中GGPLOT2情況下的錯誤。
編輯:
這裏的一個局部的黑客行爲。如果您想擴展縮放範圍,那麼您可以在指定限制的數據集中添加列,然後使用geom_blank
來繪製它們。
修改數據集:
dfr <- data.frame(
x = rep.int(1:10, 2),
y = runif(20),
g = factor(rep(letters[1:2], each = 10)),
ymin = rep(c(-0.6, 0.3), each = 10),
ymax = rep(c(1.8, 0.5), each = 10)
)
更新的情節:
p + geom_blank(aes(y = ymin)) + geom_blank(aes(y = ymax))
現在的規模是不同的,左手是正確的。不幸的是,由於需要爲積分留出空間,所以右手的比例不會縮小。
如果有幫助,我們現在可以將這個問題改爲「是否可以在沒有重新計算秤的情況下繪製點並且沒有明確地調用scale_y_continuous
?
感謝您的鏈接。雖然不是我希望的答案。 – 2010-11-25 13:24:33