R 在ggplot中绘制具有不同日期的时间线时出现问题

R 在ggplot中绘制具有不同日期的时间线时出现问题,r,ggplot2,R,Ggplot2,我正在绘制两个不同年份(07年和08年)的数据。这两年的日期稍有不同,但当我用R来绘制时,我无法得到所有的日期,R将它们按降序排列,或者在两个不同的年份中一个接一个地用空格分隔 我需要把它们放在一起,有些日期稍微有点歪斜 日期应为: data_07[,1]如果年份对绘图不重要,我建议在数据中指定一个新列,指示年份,将所有日期转换为普通年份,然后分组绘图 library(dplyr) library(ggplot2) library(lubridate) #* dates are initial

我正在绘制两个不同年份(07年和08年)的数据。这两年的日期稍有不同,但当我用R来绘制时,我无法得到所有的日期,R将它们按降序排列,或者在两个不同的年份中一个接一个地用空格分隔

我需要把它们放在一起,有些日期稍微有点歪斜

日期应为:


data_07[,1]如果年份对绘图不重要,我建议在数据中指定一个新列,指示年份,将所有日期转换为普通年份,然后分组绘图

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

#* dates are initially stored in dd/mm format.
#* create a variable where year = 2007
#* turn all dates to dd/mm/2000
data_07 <- data.frame(date = c("7/6","21/6","31/6","14/7","28/7","11/8","25/8","8/9"),
                      y = rnorm(8),
                      stringsAsFactors=FALSE) %>%
  mutate(year = 2007,
         date = dmy(paste0(date,"/2000")))


data_08 <- data.frame(date = c("7/6","21/6","5/7","19/7","2/8","16/8","25/8","8/9"),
                      y = rnorm(8),
                      stringsAsFactors=FALSE) %>%
  mutate(year = 2008,
         date = dmy(paste0(date,"/2000")))

both_years <- bind_rows(data_07, data_08)

ggplot(data = both_years,
       mapping = aes(x = date,
                     y = y,
                     colour = factor(year))) + 
  geom_point() + 
  geom_line()
库(dplyr)
图书馆(GG2)
图书馆(lubridate)
#*日期最初以dd/mm格式存储。
#*创建一个变量,其中year=2007
#*将所有日期改为2000年月日
数据0.07%
突变(年份=2007,
日期=dmy(粘贴0(日期,“/2000”))
数据0.08%
突变(年份=2008年,
日期=dmy(粘贴0(日期,“/2000”))

这两条线都解决了我的问题:

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

scale_x_date(labels = date_format("%d/%m")) 

data$date您能否与我们分享一个最小的可复制示例?那会帮你轻松多了。对不起!我更新了脚本
data$Date<-as.Date(data$Date, format="%d/%m/%Y")

scale_x_date(labels = date_format("%d/%m"))