R和ggplot-将x轴更改为最新将删除位置减淡

R和ggplot-将x轴更改为最新将删除位置减淡,r,R,我一直在使用ggplot创建绘图,我总是喜欢水平偏移数据点,这样误差条就不会重叠。我发现,当我使用x轴的日期数据时,我失去了偏移数据点的能力 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',

我一直在使用ggplot创建绘图,我总是喜欢水平偏移数据点,这样误差条就不会重叠。我发现,当我使用x轴的日期数据时,我失去了偏移数据点的能力

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”如果不包含它,会有点古怪)


那么,有没有人能告诉我,是否有一种方法可以使用ggplot绘制时间序列,这将允许我偏移数据点和误差条。

事实上,这些点稍微被忽略了

你需要记住,一年之间的间隔是365天。
位置\u道奇(0.5)
移动点(半天)/2。 因此,该位置每隔一年移动0.5/2/365

如果选择“position_dodge(0.5*365)”,则将按预期获得绘图:

DF <- data.frame(
  expand.grid(Date=c("2006-09-01", "2007-09-01", "2008-09-01" ,"2009-09-01"),
     Type = c("A", "B")),
  Count = 1:4)
DF$Date2 <- as.Date(DF$Date)

ggplot(data=DF,aes(x=Date2,y=Count,group=Type))+ geom_point(position = position_dodge(365*0.5))

DF genius!谢谢你的回答