R ggplot2-同一地块中的一个地块年份变量

R ggplot2-同一地块中的一个地块年份变量,r,ggplot2,R,Ggplot2,如何在ggplot2中将每年单独绘制一行我尝试了下面的代码,但它似乎是作为一个单独的绘图连续绘制的 library(ggplot2) # Dummy data data <- data.frame( Date = c(as.Date("2017-01-14") - 0:13,as.Date("2016-01-14") - 0:13), value = runif(28) ) #data$Date <- strptime(data$D

如何在ggplot2中将每年单独绘制一行我尝试了下面的代码,但它似乎是作为一个单独的绘图连续绘制的

library(ggplot2)

# Dummy data
data <- data.frame(
  Date = c(as.Date("2017-01-14") - 0:13,as.Date("2016-01-14") - 0:13),
  value = runif(28) 
)
#data$Date <- strptime(data$Date, "%Y-%m-%d" )
data$Year <- as.character(year(data$Date))
data$Year <- factor(data$Year)

ggplot(data) + geom_line(aes(x = Date, y = value, group=Year, color=Year)) +
  scale_x_date(date_breaks = "1 day", date_labels = "%d-%m-%y") +
  theme(axis.text.x = element_text(angle = 90))
但我希望每年都是同一个图中的一个单独的图形

像下面这样


尝试这种方法在日期中设置日期和月份。因为日期变量的年份不同,所以你的情节一团糟。设置格式可以帮助您。代码如下:

library(ggplot2)
library(lubridate)
# Dummy data
data <- data.frame(
  Date = c(as.Date("2017-01-14") - 0:13,as.Date("2016-01-14") - 0:13),
  value = runif(28) 
)
data$Year <- as.character(year(data$Date))
data$Year <- factor(data$Year)
#Format month
data$MonthDay <- format(data$Date,'%b-%d')
#Plot
ggplot(data) + geom_line(aes(x = MonthDay, y = value, group=Year, color=Year)) +
  theme_bw()+
  theme(axis.text.x = element_text(angle = 90))
输出:


尝试这种方法在日期中设置日期和月份。因为日期变量的年份不同,所以你的情节一团糟。设置格式可以帮助您。代码如下:

library(ggplot2)
library(lubridate)
# Dummy data
data <- data.frame(
  Date = c(as.Date("2017-01-14") - 0:13,as.Date("2016-01-14") - 0:13),
  value = runif(28) 
)
data$Year <- as.character(year(data$Date))
data$Year <- factor(data$Year)
#Format month
data$MonthDay <- format(data$Date,'%b-%d')
#Plot
ggplot(data) + geom_line(aes(x = MonthDay, y = value, group=Year, color=Year)) +
  theme_bw()+
  theme(axis.text.x = element_text(angle = 90))
输出:


我有没有办法给x轴刻度提供3天或更多的休息时间。当我一整年都在绘图时,x轴看起来太乱了。也许是月尺度?@Aprilian8嗨,亲爱的。是的,你可以,但是你必须创建一个定制的标签。有没有办法我可以给x轴刻度3天或更多的休息时间。当我一整年都在绘图时,x轴看起来太乱了。也许是月尺度?@Aprilian8嗨,亲爱的。可以,但必须创建自定义标签。