6
我一直在使用ggplot创建绘图,并且我总是喜欢水平偏移我的数据点,因此误差线不会重叠。我发现当我将Date数据用于我的x轴时,我失去了抵消数据点的能力。R和ggplot-将x轴更改为Date删除位置闪避
DF=data.frame(Date=c("2006-09-01", "2007-09-01", "2008-09-01" ,"2009-09-01", "2010-01-01" ,"2011-01-01"),Count=c(1,2,3,4,5,6,2,4,6,8,10,12),Type=c('A','A','A','A','A','A','B','B','B','B','B','B'))
如果我使用ggplot这样绘制上面的数据帧,这些点偏移
dodge=position_dodge(.5)
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge)
但是,如果我指定的日期数据为实际日期
DF$Date=as.Date(DF$Date)
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge)
点是不再抵消,即使我指定他们是
我已经避免了这个问题在过去通过将我的日期数据限制为仅“年”并将其视为数字。但现在我需要包含月份信息(我包括在我的日期,因为“as.Date有点时髦,如果我不包括它)012天。绘制时间序列使用ggplot,让我弥补我的数据点和误差线。
天才!感谢你的回答 – Vinterwoo