在某些图中添加趋势线

时间:2014-10-17 13:06:11

标签: r ggplot2

我是ggplot2的新手,但决定学习它,因为我喜欢它的简洁性和视觉效果。我有几个城市的降雨时间序列(动物园)。看看其他问题,我发现了如何重塑它并绘制它:

df <- data.frame(time = time(rain.yr),
                 city = rep(colnames(rain.yr), each = nrow(rain.yr)),
                 value = as.vector(rain.yr)) 
ggplot(df, aes(x=time, y=value)) +
geom_line() +
facet_wrap( ~ city, ncol=4)

我非常喜欢视觉效果的最终结果,因为它为每个城市提供了一个绘图,但是使用了全局轴。我发现了如何添加趋势:stat_smooth(method="lm")

问题在于我想为一些情节添加趋势线,而不是所有情节;只是趋势重要的那些(我有一个带零的向量和一个用于sig / non-sig的向量)。

我知道如何使用基本图形(使用par和a循环绘图,如果趋势很重要,只添加一行),但有没有办法在ggplot2中执行此操作?

1 个答案:

答案 0 :(得分:1)

按照建议,只需创建要平滑的子集的数据框,并将其用作stat_smooth()的数据。

subdf<-diamonds[which(diamonds$clarity %in% c('SI2','SI1')),]
ggplot(diamonds,aes(x=carat,y=depth))+geom_point() + facet_wrap(~clarity) + geom_smooth(data=subdf)