如何将x轴上的日期格式化为R轴上的月份和年份

如何将x轴上的日期格式化为R轴上的月份和年份,r,date,ggplot2,R,Date,Ggplot2,我已经看到了一些关于日期格式的问题,但还没有找到一个可以解决我在这里遇到的问题 我的数据范围从2008-2015年的5月至11月,然后从2016-2018年的5月至6月至11月。 我的目标是创建一个绘图,显示每年采样的月份,并消除未采样的月份 我在这里问了一个类似的问题: 但这个答案并不能解决日期问题 我试过这个密码 MeanCPUE <- BD %>% group_by(date) %>% summarise(mean_cpue = mean (CPUE)) %>

我已经看到了一些关于日期格式的问题,但还没有找到一个可以解决我在这里遇到的问题

我的数据范围从2008-2015年的5月至11月,然后从2016-2018年的5月至6月至11月。 我的目标是创建一个绘图,显示每年采样的月份,并消除未采样的月份

我在这里问了一个类似的问题: 但这个答案并不能解决日期问题

我试过这个密码

MeanCPUE <- BD %>%
  group_by(date) %>%
  summarise(mean_cpue = mean (CPUE)) %>%
  ungroup()
MeanCPUE

p <- ggplot(MeanCPUE, aes(x=date, y=mean_cpue))+
  geom_line(aes()) +
  geom_point(aes())+
  labs(title = "Mean Density", y = "Mean Density (# fish/100m2)", x = "Date")+
  theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
                     panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"),
                     axis.text.x = element_text(angle = 90))
MeanCPUE%
分组单位(日期)%>%
总结(平均值=平均值(cpue))%>%
解组()
平均值

p在下文中,我将
group=year(date)
添加到美学中,以便该线仅在同一年连接这些点

scale\u x\u date(date\u labels=“%b-%Y”)
将有每月的刻度-不确定您是否仍然需要此刻度

library(ggplot2)
library(dplyr)
library(lubridate)

ggplot(MeanCPUE, aes(x=date, y=mean_cpue, group = year(date)))+
geom_line() +
geom_point()+
labs(title = "Mean Density", y = "Mean Density (# fish/100m2)", x = "Date") +
theme_bw() + 
theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"),
                   axis.text.x = element_text(angle = 90))  +
   scale_x_date(date_breaks = '1 year', date_labels = "%b-%Y") 

我不太清楚你所说的“它看起来缺少几个月的数据”是什么意思。另外,考虑到数据持续了几年,你可能无法每月看到滴答声。我更新了上面的问题,试图澄清我的意思。由于我的数据不是连续的,只在一年中的6个月或7个月进行了采样,因此您可以看到该年的最后一个采样月份与未采样月份之间的一条线之间存在差距。我已编辑了我的答案。这就是你想要的吗?这应该有用。。谢谢你的帮助!由于增加月份似乎不像我所希望的那样有效,是否可以让每年都显示出来,而不是每隔一年跳过一次?太好了。请参见编辑后的答案。也许你想玩
date\u breaks='6个月'
。。。
library(ggplot2)
library(dplyr)
library(lubridate)

ggplot(MeanCPUE, aes(x=date, y=mean_cpue, group = year(date)))+
geom_line() +
geom_point()+
labs(title = "Mean Density", y = "Mean Density (# fish/100m2)", x = "Date") +
theme_bw() + 
theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"),
                   axis.text.x = element_text(angle = 90))  +
   scale_x_date(date_breaks = '1 year', date_labels = "%b-%Y")