0
我是新来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 /非sig的向量)。
我知道如何与基础图形(使用参数和一个循环来绘制,只添加行,如果趋势是显著),但有在GGPLOT2做这件事的方式做到这一点?
无法重现,但您应该能够获取您的数据的子集并在'stat_smooth(data = ...)'中使用它以仅保留您想要绘制直线的数据。 – konvas 2014-10-17 13:10:11
谢谢,但我不明白如何做到这一点;我怎样才能用'data ='选择一些城市?如果我试着做'stat_smooth(method =“lm”,data =“Berlin”)'我得到'错误:ggplot2不知道如何处理类字符数据。我尝试在df中添加一个名为“sigs”的列(用零和一),并执行'stat_smooth(method =“lm”,data = df $ sigs',但这只是给出了错误:ggplot2不知道如何处理带班numeric'的数据... – sbg 2014-10-17 13:42:39
建议提供样本数据,因此这里的人可以尝试 – KFB 2014-10-17 13:52:16