楚新元 | All in R

Welcome to R Square

用 R 生成日历

楚新元 / 2021-09-23


2021年就这么晃晃悠悠过去了,有点发慌,不管怎样,我得抓紧时间干点什么,三个月时间说长不长,说短也不短。为自己做个日历吧,拖延症是病,得治,虽然拖延症患者需要管理的不是时间而是情绪。

library(calendR)
library(showtext)

# 定义年份
year = 2021

# 判断文件是否存在,如果存在先删除
cal_file = paste0("calendar", year, ".pdf")
if (file.exists(cal_file)) file.remove(cal_file)

font_add("kaishu", "simkai.ttf")
showtext_auto()
calendR(
  # 定义年份(标题)
  # title, # 如果缺失,则以年或年月替代
  year = 2021,
  title.size = 40,
  title.col = "gray30",  # 年份字体颜色
  
  # 定义副标题
  subtitle = "每天好心情",
  subtitle.size = 10,
  subtitle.col = "gray30",
  
  # 定义月份
  mbg.col = "#274652",   # 月份背景颜色
  months.col = "white",  # 月份字体颜色 
  months.size = 10, # 定义月份字体大小
  months.pos = 0.5, # 定义月份水平居中
  
  # 定义周
  weeknames = c(
    "Mo", "Tu", "We", "Th", 
    "Fr", "Sa", "Su"
  ),  # 定义周名称
  weeknames.col = "gray30",  # 周字体颜色
  weeknames.size = 4.5, # 定义周字体大小
  start = "M",  # 设置从周一开始

  # 定义日
  days.col = "gray30", # 定义日期的颜色
  day.size = 3, # 定义日期的字体大小
  special.days = "weekend",  # 定义周末为特殊日期
  special.col = "lightblue",  # 特殊日期背景颜色
  gradient = FALSE,  # 渐变色
  low.col = "white", # 非特殊日期背景颜色
  lty = 0,  # 线形,0为无边框线
  lwd = 0.5,  # 线宽度
  col = "white",  # 线颜色
  
  # 定义背景、放置方向、生成文件
  font.family = "kaishu", # 设置字体
  font.style = "plain",  # 可以设置粗体、斜体和粗斜体
  orientation = "landscape",  # 垂直放置
  papersize = "A4", # 设置纸张大小
  margin = 1,  # 日历页边距
  bg.col = "lightblue",  # 日历背景颜色
  # bg.img = "./img.jpg", # 设置背景图片
  legend.pos = "none",  # 设置图例位置
  legend.title = "",  # 设置图例标题
  pdf = TRUE, # 生成 PDF 文件
  doc_name = paste0("calendar", year)  # 给 PDF 文件命名
  
  # 一些额外的月历参数
  # text = "",
  # text.pos = NULL,
  # text.size = 4,
  # text.col = "gray30",
  # 
  # lunar = FALSE,
  # lunar.col = "gray60",
  # lunar.size = 7,
)
showtext_auto(FALSE)