在过去的几周里,我一直在学习 ggplot。一般来说,我正在完成事情(虽然很慢),但现在我被卡住了。我创建了以下多面图:http ://dl.dropbox.com/u/7752237/example_bad_y_scales.pdf
刻面由
pl <- pl + facet_wrap(~sci_name,ncol=1,scale="free")
问题:y 尺度上的数字看起来不太好,尤其是从 0 到 70 的尺度(数字重叠)。我想以某种方式改变 y 尺度上的休息次数(比如说只有 1 或 2 次休息)。有没有人可能知道如何做到这一点?任何帮助将不胜感激。:)
PS:我没有包含一个最小的示例,因为我认为解决该特定问题无济于事。
在 Kohskes 回答后编辑:
嗨 Kohske,哇,这是一个非常快速的答案,谢谢!但是,我认为它不适用于多面图。看着
p <- ggplot(mtcars, aes(wt, mpg))
p <- p + geom_point()
p <- p + facet_wrap(~gear,ncol=1,scale="free")
在 y 尺度上,它在中间图中给出了 3 个中断,在下图中给出了 8 个中断……不是很一致(但至少不像我的示例那样重叠)。
p2 <- p + scale_y_continuous(breaks=c(15,30),minor_breaks=c(10,20,25))
也不是很好:下部地块上有两个主要刻度,中间和上部地块只有一个。当秤的差异比 mtcars 更大时,结果会更不令人满意。还有其他想法吗?;)
Kohskes 编辑后编辑:
嗨,我看不到如何实现这一点。在 google 上搜索 ggplot 和 input_break 只得到 10 个结果,没有一个有帮助。我试过了
p <- ggplot(mtcars, aes(wt, mpg))
p <- p + geom_point()
p <- p + facet_wrap(~gear,ncol=1,scale="free")
p$input_breaks<-function(., range) {
pretty(range, n=3)
}
print(p)
但是,我在图中看不到任何效果(尝试了 n=1、3、15)。您能否描述如何在 mtcars 示例中实现这一点?谢谢!