R 如何在ggplot的x轴上将日期打印为日期(不是数字或字符)?

R 如何在ggplot的x轴上将日期打印为日期(不是数字或字符)?,r,plot,data-analysis,R,Plot,Data Analysis,我有一个巨大的数据集,包含2010年至2019年10个水资源中的细菌样本(4种细菌)。缺少一些值,因此我们不需要在绘图或分析中包含它们 我想为每种资源绘制一个多年来每种细菌的时间序列。 最好的方法是什么 library("ggplot2") BactData= read.csv('Råvannsdata_Bergen_2010_2018a.csv', sep='\t',header=TRUE) summary(BactData,na.rm = TRUE) df$Date = as.Date( d

我有一个巨大的数据集,包含2010年至2019年10个水资源中的细菌样本(4种细菌)。缺少一些值,因此我们不需要在绘图或分析中包含它们

我想为每种资源绘制一个多年来每种细菌的时间序列。 最好的方法是什么

library("ggplot2")
BactData= read.csv('Råvannsdata_Bergen_2010_2018a.csv', sep='\t',header=TRUE)
summary(BactData,na.rm = TRUE)
df$Date = as.Date( df$Date, '%d/%m/%Y')
#require(ggplot2)
ggplot( data = df, aes( Date,BactData$Svartediket_CB )) + geom_line() 
#plot(BactData$Svartediket_CB,col='brown')
plot(BactData$Svartediket_CP,col='cyan')
plot(BactData$Svartediket_EC,col='magenta')
plot(BactData$Svartediket_IE,col='darkviolet')

使用绘图是不令人满意的,因为x轴只是数字而不是日期。试图使用ggplot,但收到错误消息。我是R的初学者

错误消息

Error in df$Date : object of type 'closure' is not subsettable

这样就可以了

BactData = read.csv('Råvannsdata_Bergen_2010_2018a.csv', sep='\t',header=TRUE, stringsAsFactors = F)

colnames(BactData)[1] <- "Date"

library(lubridate)
BactData$Date = dmy(BactData$Date) # converts strings to date class 
ggplot(data = BactData, aes(Date, Svartediket_CB )) + geom_line()

还是两年

library(dplyr)
BactData %>% filter(year(Date) == 2017 | year(Date) == 2018) %>% 
  ggplot(aes(Date, Svartediket_CB )) + geom_line()

为了让您开始,您的数据在BactData中,但您正在尝试更改一个名为df的日期。日期的格式应类似于.date(date,format=“%d.%m.%y”)谢谢,如何仅绘制一年或两年的绘图?@F.O我已更新了答案,以显示如何在绘制前过滤一(或两年)的数据。@user5783745 Bogetveit_CB和further的绘图是空的,即使它们有值。我删除了包含缺失值的115行消息(geom_path)。
library(dplyr)
BactData %>% filter(year(Date) == 2017 | year(Date) == 2018) %>% 
  ggplot(aes(Date, Svartediket_CB )) + geom_line()