我想要更改示例图中的span参数Example Plot
在我为了得到这个图而编写的代码中,我无法获得除默认值0.2之外的任何其他内容。我有一种预感,它与将黄土适合分配给每个组有关,但我尝试过的却没有用。我已经做了一些示例代码来演示不影响下面黄土拟合的span参数。
xy <- rbind(data.frame(x=sort(rnorm(n=46, mean=5, sd=2)), y=1:46),data.frame(x=sort(rnorm(n=46, mean=7, sd=3)), y=1:46), data.frame(x=sort(rnorm(n=46, mean=4, sd=7)), y=1:46))
plot.data <- data.frame(group=letters[rep(1:3, each=46)], xy)
ggplot(plot.data, aes(x=x, y=y))+geom_smooth(method=loess, span=0.1, se=T, col='black') + geom_point(alpha=0.7) + facet_wrap(~group)
答案 0 :(得分:1)
Span与geom_smooth(...)方法调用“loess”相关,
超过1000个数据点的任何数据都默认为method =“gam”,因为这对大型数据集更有效。
`geom_smooth()` using method = 'gam'
尝试明确说明method = loess,然后设置span。
geom_smooth(method = loess, span = 0.3)
注意:这会以指数方式增加图表渲染时间。
答案 1 :(得分:0)
在我看来,这可能与ggplot2
关系不大,而与您的数据关系更多。观察:
plot.data.a <- plot.data[plot.data$group == 'a', ]
par(mfrow = c(2,2))
for(i in seq(.1, .9, length.out = 4)){
plot(plot.data.a[,-1], main = paste('Span of', round(i, 2)))
lines(loess(y ~ x, data = plot.data.a, span = i))
}
似乎改变跨度对loess
拟合的视觉影响很小甚至没有。
所以,当你制作你的情节并改变span
时,似乎ggplot2
了解你正在改变span
,这只是因为拟合相对不变。 / p>