R 如何更改x轴刻度以反映另一个变量?
我正在使用一个数据框架,其中包括观察的日期和月份:R 如何更改x轴刻度以反映另一个变量?,r,dataframe,ggplot2,R,Dataframe,Ggplot2,我正在使用一个数据框架,其中包括观察的日期和月份: Day Month 1 January 2 January 3 January ... 32 February 33 February 34 February ... 60 March 61 March 等等。我正在ggplot中创建一个折线图,它反映了列wp的逐日值(可以假定为0到1之间的随机值) 因为数据集中有这么多天,我不希望它们反映在x轴记号中
Day Month
1 January
2 January
3 January
...
32 February
33 February
34 February
...
60 March
61 March
等等。我正在ggplot中创建一个折线图,它反映了列wp
的逐日值(可以假定为0到1之间的随机值)
因为数据集中有这么多天,我不希望它们反映在x轴记号中。在创建绘图时,我需要参考day
列,以便查看wp中的逐日变化,但我只希望在x轴标签上显示月份。我可以用xlab(“月”)
轻松地重命名x轴标题,但我不知道如何更改勾号以仅显示月份。因此,理想情况下,我希望看到“一月”、“二月”和“三月”作为沿x轴的标签
test <- ggplot(data = df, aes(x=day, y=wp)) +
geom_line(color="#D4BF91", size = 1) +
geom_point(color="#D4BF91", size = .5) +
ggtitle("testex") +
xlab("Day") +
ylab("Value") +
theme_fivethirtyeight() + theme(axis.title = element_text())
test当我将这一天视为实际日期时,我得到了期望的结果:
library(lubridate)
set.seed(21540)
dat <- tibble(
date = seq(mdy("01-01-2020"), mdy("01-01-2020")+75, by=1),
day = seq_along(date),
wp = runif(length(day), 0, 1)
)
ggplot(data = dat, aes(x=date, y=wp)) +
geom_line(color="#D4BF91", size = 1) +
geom_point(color="#D4BF91", size = .5) +
ggtitle("testex") +
xlab("Day") +
ylab("Value") +
theme(axis.title = element_text())
谢谢你,戴夫!我采用了你更一般化的方法,它奏效了。天才
library(lubridate)
set.seed(21540)
dat <- tibble(
date = seq(mdy("01-01-2020"), mdy("01-01-2020")+75, by=1),
day = seq_along(date),
wp = runif(length(day), 0, 1),
month = as.character(month(date, label=TRUE))
)
firsts <- dat %>%
group_by(month) %>%
slice(1)
ggplot(data = dat, aes(x=day, y=wp)) +
geom_line(color="#D4BF91", size = 1) +
geom_point(color="#D4BF91", size = .5) +
ggtitle("testex") +
xlab("Day") +
ylab("Value") +
scale_x_continuous(breaks=firsts$day, label=firsts$month) +
theme(axis.title = element_text())