我是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中执行此操作?
答案 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)