原标题:calendR :为你定制私人专属日历


作者 | 庄闪闪 责编 | 张文
头图 | CSDN 下载自视觉中国
来源 | 庄闪闪的成长手册(ID:Zss_R4ds)
今天教大家如何制作个人专属日历。
先说说这个包吧,非常简单,比起ggplot2 包绘制日历要简单的多。
R 中的年历图
该软件包非常易容易使用,因为它仅包含一个命名函数calendR 。默认情况下,如果未指定任何参数,则该函数将以横向形式创建当年的日历,并且所有文本将使用系统的语言,如下所示:

如果不希望日历使用操作系统的语言,则可以对其进行修改。例如,使用英语:
如果想创建其他年份的年度日历图,则可以在year 参数上设定,如下所示:
1.1 日历周开始的设定
默认情况下,日历的周数将从星期日开始。设定参数start=”M” 可以获得从星期一开始日历图。

1.2 为日子增添色彩
special.days 参数可以为指定的日期添加颜色,special.col 设置颜色, low.col 设置其他日期的颜色。
比如下面就是将第 9,19 等日子设置为特定时间,其颜色为淡蓝色,其他颜色设置为白色。

技巧:如果要突出日历中所有的周末,可以将 special.days 参数设置为”weekend”,此快捷方式将立即为它们全部着色。

为了添加多个事件,您将需要创建一个 NA 值向量,该向量的长度与相应年份的天数相同。然后将事件添加到相应的日期,你需要在special.days 参数中指定。
# Set the corresponding eventsevents[40:45] <- “Trip”events[213:240] <- “Holidays”events[252] <- “Birthday”events[359] <- “Christmas”
# Creating the calendar with a legendcalendR(year = 2025,special.days = events,special.col = c(“pink”, “lightblue”, # Colors“lightgreen”, “lightsalmon”),legend.pos = “right”) # Legend to the right

R 中的月历图
年度日历前面描述的功能也可用于月度日历中。但是月度日历还可以将文本添加到每月的某几天中。
为了创建月度日历,你需要指定年份和月份。

2.1 为日子增添色彩
与前面相同,使用special.days 参数给指定日期加上颜色。
2.2 在日子里添加文字
使用月度日历图时,可以使用text 参数向日期添加一些文本,并使用参数 text.pos 指定其位置。使用text.size和text.col 参数修改文本的大小和颜色。

2.3 添加月相
设置lunar = TRUE 可以将月相添加到其日期中。lunar.col 参数设置隐藏区域的颜色,lunar.size 设置大小。

学术日历
使用 start_date和 end_date创建学术日历。如果你想设置某个时间段(下面是 2020 年 9 月- 2021 年 5 月 31 日)的日历,非常使用科研人员,学生。请参阅以下示例:

当然,我觉得打印出来可能效果更好用吧。这里只是给出一个简单的例子,你可以在这个基础上加上背景以及你喜欢的颜色,可以继续往下看。
私人定制
接下来,就是给日历加了背景以及根据直男审美把其他颜色进行了调整。下面给出上次大家说还不错的日历的源代码.
可以使用 pdf = TRUE 将日历进行导出(默认为 A4 格式)。可以在doc_name 参数中指定生成的 PDF 文件的名称。此外,你可以在几种纸张尺寸之间进行选择以保存日历,从”A6″到,”A0″。但是注意,可能需要微调一些字体尺寸来获得所需的输出。
如果想制作自己的日历,只需修改 img 的图片,存储的路径(默认在我的文档里)。
3.1 日历
calendR(year = 2021,start = “M”, title.col = “white”,# Weeks start on Mondaymbg.col = “#cd853f”, # Background color of the month namesmonths.col = “white”, # Color of the text of the month namesweeknames.col = “white”,special.days = “weekend”, # Color the weekendsspecial.col = “#a9a9a9”, # Color of the special.dayslty = 0, # Line type (no line)weeknames = c(“Mo”, “Tu”, # Week names“We”, “Th”,“Fr”, “Sa”,“Su”),title.size = 40, # Title sizeorientation = “p”,bg.img = img,pdf = TRUE,doc_name = “My_calendar_brown”)

3.2 月历
这里和日历区别最大的点就是:月历要把每个月都输出,可以使用sapply 函数,把所有月份输出。前面的 invisible 指的是:不显示图片(显示的话太费事了!保存再看更快)。
最后使用paste0 将字符串进行粘合(这个方法非常好用!),而这里的 i 是变化的,所以最后生成的 pdf 文件名不一样但很有规律(除了 i 不一样)。

☞弃用 Cookie!
☞前端诸神大战,Vue、React 依旧笑傲江湖
☞计算机巨星陨落!图灵奖得主 Edmund Clarke 因感染“新冠”逝世
☞Github 超 20000 Star,最火开源视频库 FFmpeg 这 20 年!
☞跨平台将终结
☞曾被“劝退”的 C++ 20 正式发布!
☞Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学

点分享

点点赞

责任编辑: