道歉,这个例子不是很好,但它突出了点。geom_smooth() - 缩放y轴,丢失平滑数据
mtcars$tran <- factor(mtcars$am, labels=c("Man","Aut"))
ggplot(mtcars, aes(x=hp, y= mpg, group=tran)) + geom_smooth(aes(colour=tran))
ggplot(mtcars, aes(x=hp, y= mpg, group=tran)) + geom_point(aes(colour=tran))
ggplot(mtcars, aes(x=hp, y= mpg, group=tran)) + geom_point(aes(colour=tran)) + geom_smooth(aes(colour=tran))
ggplot(mtcars, aes(x=hp, y= mpg, group=tran)) + geom_smooth(aes(colour=tran)) + scale_y_continuous(limits=c(12,60))
我想要做的是画一条平滑的曲线,但通过限制y轴的比例来“放大”。然而,看起来ggplot在计算平滑曲线时排除了超出刻度限制的任何数据。是的,这看起来很合理,但我怎么看到我想看到的?在我的实际数据中,(原始)y值介于5和14之间,但平滑曲线完全位于7和9之间。所以顶部有很多空白空间。当我将它设置为c(7,9)时,它不再使用该范围之外的点来计算平滑曲线,因此我得到了不同的曲线。
我无法提供数据,但您可以在此示例中看到此内容。看看最后一幅图中的两点如何下降,“Man”曲线的最后一半与原始图中的不一样。
问题
如果scale_y_continuous限制了用于构建的平滑曲线(逻辑)的数据值,你怎么能使用所有的数据绘制曲线,然后“变焦”它(WRT的y轴)。
让我知道如果这不明确。
感谢
的'geom_smooth'都不会改变,从我的理解,在未来的版本(应该是出围绕圣诞节/新年的默认缩放年份)。看到这里,例如:http://stackoverflow.com/questions/7857020/ggplot2-zooming-in-on-geom-smooth-automatically-using-coord-cartesian –