【发布时间】:2014-07-31 15:42:45
【问题描述】:
如果我有这样的数据框:
obs<-rnorm(20)
d<-data.frame(year=2000:2019,obs=obs,pred=obs+rnorm(20,.1))
d$pup<-d$pred+.5
d$plow<-d$pred-.5
d$obs[20]<-NA
d
我希望观察和模型预测误差条看起来像:
(p1<-ggplot(data=d)+aes(x=year)
+geom_point(aes(y=obs),color='red',shape=19)
+geom_point(aes(y=pred),color='blue',shape=3)
+geom_errorbar(aes(ymin=plow,ymax=pup))
)
如何添加图例/比例/键,将红色点标识为观察值,将带有误差线的蓝色加号标识为带范围的点预测?
【问题讨论】:
-
不,你最好先融合你的数据框,这样你就有一个值
obs和pred映射到color和shape的列。跨度> -
@Joran:观察来自一个数据源,模型预测和误差线来自另一个数据源。我想对于复杂的数据,这建议应该为每个图形生成一个更简单的绘图数据框。
-
它们来自哪里并不重要。您问如何创建图例,而在 ggplot 中做到这一点的最佳方法是将变量映射到美学并避免具有相同几何图形的多行。