如何解决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$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))
输出:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。