我想根据ggplot2的黄土函数减小Y-xis的比例,即使这意味着不会显示某些原始点。
问题是我事先不知道黄土函数的最大值是多少。我所拥有的只是各种原始数据集,有时这些数据集中的一些可能会有一个高峰,因此那些将我的黄土曲线压缩到图的底部,而我更关心黄土的显示曲线比显示原始数据(但必须显示这些原始数据,至少是那些接近黄土曲线的原始数据)在这个例子中,蓝色黄土线从不高于2,而在2和3之间有许多点;通常情况下,我希望Y轴的顶部为2并抛弃那些极端原点。
library(ggplot2)
set.seed(34)
n <- 200
X <- runif(n)*8
Y <- sin(3*X) + cos(X^2) + rnorm(n, 0, 0.5)
myData <- data.frame(X,Y)
fit <- loess(Y~X,data=myData)
myData$pred <- predict(fit)
ggplot(myData, aes(X,Y))+
geom_point()+
stat_smooth(method="loess", se=F, size=3)+
geom_line(aes(X,pred),colour="yellow")
答案 0 :(得分:0)
你几乎就在那里,只需添加一个coord_cartesian
电话
ggplot(myData, aes(X,Y))+
geom_point()+
stat_smooth(method="loess", se=F, size=3)+
geom_line(aes(X,pred),colour="yellow") +
coord_cartesian(ylim=c(min(myData$pred)-.1, max(myData$pred)+.1))