我有一個類似于以下內容的資料框(例如):
set.seed(42) ## for sake of reproducibility
n <- 6
dat <- data.frame(date=seq.Date(as.Date("2020-12-26"), as.Date("2020-12-31"), "day"),
category=rep(LETTERS[1:2], n/2),
daily_count=sample(18:100, n, replace=TRUE)
)
dat
# date category daily_count
#1 2020-12-26 A 60
#2 2020-12-27 B 32
#3 2020-12-28 B 39
#4 2020-12-29 B 75
#5 2020-12-30 A 25
#6 2020-12-31 A 53
#7 2020-12-26 A 60
#8 2020-12-27 A 32
#9 2020-12-28 A 39
#10 2020-12-29 B 75
#11 2020-12-30 B 25
#12 2020-12-31 B 53
.
.
.
我正在嘗試在其 X 軸上創建一個帶有月份和年份的箱線圖,它看起來像這樣:

我想在2013-08-23上創建一條垂直線。我為此使用以下代碼:
library(ggplot2)
ggplot(dat)
geom_boxplot(aes(y=daily_count,
x=reorder(format(dat$date,'%b %y'),dat$date),
fill=dat$category))
xlab('Month & Year') ylab('Count') guides(fill=guide_legend(title="Category"))
theme_bw()
theme(axis.text=element_text(size=10),
axis.title=element_text(size=10))
geom_vline(xintercept = as.numeric(as.Date("2013-08-23")), linetype=1, colour="red")
請問有什么指導嗎?
uj5u.com熱心網友回復:
在這個答案中:
- 我創建了一個更大的樣本
- 為簡單起見,我使用
yearmonthfromtsibble - 我已經解決了垂直線的問題
- 我清理了一些實驗室的使用以獲得更清晰的代碼
set.seed(42)
dates <- seq.Date(as.Date("2012-08-01"), as.Date("2014-08-30"), "day")
n <- length(dates)
dat <- data.frame(date = dates,
category = rep(LETTERS[1:2], n/2),
daily_count = sample(18:100, n, replace=TRUE))
library(ggplot2)
library(tsibble)
ggplot(dat)
geom_boxplot(aes(y = daily_count,
x = yearmonth(date),
group = paste(yearmonth(date), category),
fill = category))
labs(x = 'Month & Year',
y = 'Count',
fill = "Category")
theme_bw()
theme(axis.text=element_text(size=10),
axis.title=element_text(size=10))
geom_vline(xintercept = lubridate::ymd("2013-08-23"), linetype=1, colour="red", size = 2)

由
uj5u.com熱心網友回復:
我認為沒有必要做任何“擴展”......這不是我的解決方案,而是@dario 修改后的解決方案。我認為問題出在美學上。
ggplot(dat, aes(y=daily_count,
x=date,
fill=category))
geom_boxplot()
labs(x = 'Month & Year', ylab= 'Count', fill = "Category")
theme_bw()
theme(axis.text=element_text(size=10),
axis.title=element_text(size=10))
geom_vline(xintercept = as.Date("2020-12-28"), linetype=1, colour="red")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/349194.html
