Problems creating datetime series graph in R using ggplot

坚强是说给别人听的谎言 提交于 2020-01-23 19:01:47

问题


I am trying to create a graph with the following characteristics:

  • x-axis: time and date
  • y-axis: data

here you can download my dataframe: https://my.cloudme.com/josechka/data

I try to produce the graph using:

p <- ggplot(data,aes(x = Date, y = Var,group = 1)) 
        + geom_line() 
        + scale_x_date(labels = date_format("%m/%d/%Y")) 
        + scale_y_continuous(limits = c(0, 70000))    
p    

And I get the result:

Error: Invalid input: date_trans works with objects of class Date only

I am quite new in R and ggplot. What am I doing wrong?


回答1:


As suggested you have to format the Date column into a Date object.

data$Date<-as.Date(data$Date, format="%d/%m/%Y")

Now you can use your script in order to create the plot:

library("ggplo2") 
library("scales")
p <- ggplot(data,aes(x = Date, y = Var,group = 1)) 
        + geom_line() 
        + scale_x_date(labels = date_format("%m/%d/%Y")) 
        + scale_y_continuous(limits = c(0, 70000))    
p

And this is the resulting plot:




回答2:


Thanks for the comments. They helped me to find out the solution. Both comments allow to represent my data. However, there is small problem: data from the same day is grouped and it is not possible to see the daily behaviour of the variable. I tested to format the Date column using the next command:

as.POSIXct(data$Date, format="%d/%m/%Y %H:%M:%S")    

It worked out. However it is important to have the original data in the format d/m/Y h:m:s. Thanks very much for the comments which help me a lot to solve my problem.



来源:https://stackoverflow.com/questions/26977838/problems-creating-datetime-series-graph-in-r-using-ggplot

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!