了解日期与R中的ggplot2绘图

时间:2015-08-28 18:04:22

标签: r date csv plot ggplot2

我有一个名为 gdata.csv 的CSV文件,其数据如下:

id,date,totKm,eLiter,euros,liters,km
1,24-04-2010,23678,1.180,42.00,35.59,450
2,16-05-2010,24058,1.200,43.00,35.83,380
3,27-05-2010,24488,1.160,44.00,37.93,430
4,12-06-2010,24960,1.180,45.00,38.14,472

使用ggplot2

我只想在行字符中使用 ggplot2 绘制dateeliter,并使用以下代码:

x_date <- as.Date(gdata$date, format = "%d-%m-%Y")
ggplot(eliter, aes(x_date, eliter)) + geom_line()

但是,它返回与该类相关的错误: 错误:ggplot2不知道如何处理类数字的数据

我尝试制作data.frame,但它仍然会返回错误:

d <- data.frame(xdate = x_date, yeliter=gdata$eLiter)
ggplot(d$xdate, aes(d$xdate, d$yeliter)) + geom_line()

错误:ggplot2不知道如何处理类Date的数据

使用情节

我已经设法用plot()函数执行此操作:

plot(gdata$eLiter~as.Date(gdata$date, "%d-%m-%Y"), type = "s", xlab="Date",ylab="€/Liter", main="€/liter trend", col='blue')

它工作正常!但我不能用ggplot来做。

有人可以帮助我吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

像这样添加Lines <- "id,date,totKm,eLiter,euros,liters,km 1,24-04-2010,23678,1.180,42.00,35.59,450 2,16-05-2010,24058,1.200,43.00,35.83,380 3,27-05-2010,24488,1.160,44.00,37.93,430 4,12-06-2010,24960,1.180,45.00,38.14,472" DF <- read.csv(text = Lines) DF$date <- as.Date(DF$date, "%d-%m-%Y") library(ggplot2) ggplot(DF, aes(date, eLiter)) + geom_line() + scale_x_date()

{{1}}

screenshot