在 R 中更改图表上 x 轴的值
Changing values of x-axis on my graph in R
我的图表在 y 轴上有我数据的数值,这是抑郁水平,在 x 轴上我有顺序(数字从 1-40 因为我有 40 个观察值)但是这些在事实上季度,因为我的数据是季度(2008-2013)。所以我想将 x 轴从 1-40 的顺序更改为年份和季度(例如 2008 年第一季度、2008 年第二季度……)。但是我不确定我该怎么做。任何帮助是极大的赞赏!
以下是您从 2008 年开始的 40 个季度的示例:
quarter <- seq(40)
starting.year <- 2008
#create a function
convertToQ <- function(qs, s) {
d <- c()
for(q in qs){
qtr <- (q-1)%%4 +1
d <- c(d, (paste(s, " Q", qtr, sep = "")))
if(qtr == 4) s <- s +1
}
return(d)
}
# generate data frame
data <- data.frame(depression = runif(40, -5.0, 5.0),
quarters = convertToQ(quarter, starting.year),
stringsAsFactors=FALSE)
# plot
ggplot(data, aes(x = quarters, y = depression)) +
geom_point() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
这会产生以下情节:
我的图表在 y 轴上有我数据的数值,这是抑郁水平,在 x 轴上我有顺序(数字从 1-40 因为我有 40 个观察值)但是这些在事实上季度,因为我的数据是季度(2008-2013)。所以我想将 x 轴从 1-40 的顺序更改为年份和季度(例如 2008 年第一季度、2008 年第二季度……)。但是我不确定我该怎么做。任何帮助是极大的赞赏!
以下是您从 2008 年开始的 40 个季度的示例:
quarter <- seq(40)
starting.year <- 2008
#create a function
convertToQ <- function(qs, s) {
d <- c()
for(q in qs){
qtr <- (q-1)%%4 +1
d <- c(d, (paste(s, " Q", qtr, sep = "")))
if(qtr == 4) s <- s +1
}
return(d)
}
# generate data frame
data <- data.frame(depression = runif(40, -5.0, 5.0),
quarters = convertToQ(quarter, starting.year),
stringsAsFactors=FALSE)
# plot
ggplot(data, aes(x = quarters, y = depression)) +
geom_point() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
这会产生以下情节: