R 当没有具有0值的数据时,从0开始绘制x轴
我正试图绘制一年中每天独特探测的数量。 我有这样的数据 我用这些代码总结了每天唯一检测的数量R 当没有具有0值的数据时,从0开始绘制x轴,r,ggplot2,R,Ggplot2,我正试图绘制一年中每天独特探测的数量。 我有这样的数据 我用这些代码总结了每天唯一检测的数量 unique_day <- data %>% group_by(Day,tag) %>% filter(Date==min(Date)) %>% slice(1) %>% ungroup() 得到这样一个情节 我似乎无法让情节从0开始。。。我想它总是从1开始,因为检测没有0值。。。我只有一个数据框,总结了有检测的日子,而不是没有检测的日子。我试过使用ylim,scal
unique_day <- data %>% group_by(Day,tag) %>% filter(Date==min(Date)) %>% slice(1) %>% ungroup()
得到这样一个情节
我似乎无法让情节从0开始。。。我想它总是从1开始,因为检测没有0值。。。我只有一个数据框,总结了有检测的日子,而不是没有检测的日子。我试过使用ylim,scale_y__连续和coord_笛卡尔。。。有什么想法吗
有什么想法吗?以下是解决问题的简单方法:
df_空%
分组单位(日期)%>%
总结(检测=总和(检测))
最后,您可以使用
ggplot2
-代码获得绘图。您可以创建一个包含所有缺失天数和值0的data.frame,并将这两个值组合起来。我考虑过这一点,但在r中也不是最有经验的,也不知道如何做。如果将sum%group\u by(Date)%%>%summary(Detections=n())替换为
使用sum%group\u by(Date)%%>%summary(Detections=n()-1)
?这确实会产生零值,但会将每天的检测计数减少1,这是我不想要的。
sum <- unique_day %>% group_by(Date) %>% summarise(Detections=n())
sum[year(sum$Date)==2016,] %>%
ggplot(aes(x=Date,y=Detections))+
theme_bw(base_size = 16,base_family = 'serif')+
theme(panel.grid.major = element_blank(),panel.grid.minor=element_blank())+
geom_line(size=1)+
scale_x_datetime(date_breaks = '1 month',date_labels = "%b",
limits = c(as.POSIXct('2016-01-01'),as.POSIXct("2016-12-01")))+
ggtitle('DIS 2016')+
theme(plot.title = element_text(hjust = 0.5))+
xlab("Date")+
scale_y_continuous(expand = c(0,0),limits = c(0,5))