# 安装包
if (!requireNamespace("calendR", quietly = TRUE)) {
install.packages("calendR")
}
# 加载包
library(calendR)日期高亮标记
日期高亮标记主要用于展示时间序列数据中某些特定日期范围内的数据变化情况,可用于活动频率概览和特殊日期标注。
示例

环境配置
系统要求: 跨平台(Linux/MacOS/Windows)
编程语言:R
依赖包:
calendR
数据准备
数据为指定年的日历数据,可选择高亮显示某些日期范围。
# 构造数据
set.seed(1)
data <- rnorm(365)
# 查看数据
head(data)[1] -0.6264538 0.1836433 -0.8356286 1.5952808 0.3295078 -0.8204684
可视化
1. 中国日期
需要注意如果在China,默认weeknames和monthnames为中文,如果在其他国家/地区,默认weeknames和monthnames为英文。
# 中国日期
p <- calendR(
year = 2025,
month = NULL,
from = NULL,
to = NULL,
start = "M",
mbg.col = 2,
# orientation = "portrait",
months.col = "white",
months.pos = 0.5,
monthnames = c(
"一月",
"二月",
"三月",
"四月",
"五月",
"六月",
"七月",
"八月",
"九月",
"十月",
"十一月",
"十二月"
),
weeknames = c("一", "二", "三", "四", "五", "六", "日"),
special.days = data,
special.col = "#00338888",
gradient = TRUE,
low.col = "#FFFFFF88",
font.family = "sans",
font.style = "plain",
day.size = 2,
# ncol = 2,
lunar = FALSE,
pdf = FALSE
)
p
2. 常规日期
# 常规日期
p <- calendR(
year = 2025,
month = NULL,
from = NULL,
to = NULL,
start = "S",
mbg.col = 2,
# orientation = "portrait",
months.col = "white",
months.pos = 0.5,
monthnames = c(
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
),
weeknames = c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"),
special.days = data,
special.col = "#00888888",
gradient = TRUE,
low.col = "#FFFFFF88",
font.family = "sans",
font.style = "plain",
day.size = 2,
# ncol = 2,
lunar = FALSE,
pdf = FALSE
)
p
3. 日期期间
# 日期期间
data <- rnorm(30, 15, 10)
days <- rep(min(data) - 0.05, 365)
days[30:180] <- data
p <- calendR(
year = 2025,
month = NULL,
from = NULL,
to = NULL,
start = "S",
mbg.col = 2,
# orientation = "portrait",
months.col = "white",
months.pos = 0.5,
monthnames = c(
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
),
weeknames = c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"),
special.days = days,
special.col = "#FF000088",
gradient = TRUE,
low.col = "#FFFFFF88",
font.family = "sans",
font.style = "plain",
day.size = 2,
# ncol = 2,
lunar = FALSE,
pdf = FALSE
)
p
