热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vue日历翻拍效果_calendR:为你定制私人专属日历

作者|庄闪闪责编|张文头图|CSDN下载自视觉中国来源|庄闪闪的成长手册(ID:Zss_R4ds)今天教大家如何制作个人专属日历。先说说这个包吧,非常简

fccc84f01c72907abb66e3828b7d62e7.gif

a943fdcd6656bde1cace2bed980a0ac2.png

作者 | 庄闪闪  责编 | 张文头图 | CSDN 下载自视觉中国来源 | 庄闪闪的成长手册(ID:Zss_R4ds)今天教大家如何制作个人专属日历。先说说这个包吧,非常简单,比起ggplot2 包绘制日历要简单的多。

00bbd949e711b880fea0d81ffcfede01.png

R 中的年历图

该软件包非常易容易使用,因为它仅包含一个命名函数calendR 。默认情况下,如果未指定任何参数,则该函数将以横向形式创建当年的日历,并且所有文本将使用系统的语言,如下所示:

# install.packages("calendR") #直接install安装包library(calendR)calendR() # 默认为当前年份

58a49646a7e26f86028e15ad365f730f.png
如果不希望日历使用操作系统的语言,则可以对其进行修改。例如,使用英语:

Sys.setlocale("LC_ALL","English")如果想创建其他年份的年度日历图,则可以在year 参数上设定,如下所示:

calendR(year = 2021)

1.1 日历周开始的设定

默认情况下,日历的周数将从星期日开始。设定参数start="M" 可以获得从星期一开始日历图。

calendR(year = 2021, start = "M")

b6b944bff87bcbc02051e3a7fea3faa5.png

1.2 为日子增添色彩

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

calendR(year = 2021, start = "M", special.days = c(9, 19, 56, 79, 102, # Days to color 126, 257, 300, 342), special.col = "lightblue", # Color of the specified days low.col = "white") # Background color of the rest of the days

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

calendR(year = 2025, start = "M", special.days = "weekend") # Color all weekends

d9d1624f93b6ae638060975a0e131234.png
为了添加多个事件,您将需要创建一个 NA 值向量,该向量的长度与相应年份的天数相同。然后将事件添加到相应的日期,你需要在special.days 参数中指定。

events 365)# 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

663ff1ebbab375eb5e1726d4767d6c08.png

efcc4b3f2d5cf4b122118b9b9ff37e91.png

R 中的月历图

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

calendR(year = 2021, month = 8)

0a6111910da2366ecdc2e07eaadfdb24.png

2.1 为日子增添色彩

与前面相同,使用special.days 参数给指定日期加上颜色。

calendR(year = 2021, month = 8, special.days = c(1, 9, 12, 23, 28), special.col = "#bfe2f2", low.col = "white")

2.2 在日子里添加文字

使用月度日历图时,可以使用text 参数向日期添加一些文本,并使用参数  text.pos 指定其位置。使用text.size和text.col 参数修改文本的大小和颜色。

calendR(year = 2021, month = 8, # Year and month start = "M", # Start the week on Monday text = c("Running", "Running", # Add text (only for monthly calendars) "Class"), text.pos = c(5, 16, 25), # Days of the month where to put the texts text.size = 4.5, # Font size of the text text.col = 4) # Color of the texts

2.3 添加月相

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

calendR(month = 2, lunar = TRUE, # Add moons to the calendar lunar.col = "gray60", # Color of the non-visible area of the moons lunar.size = 7) # Size of the moonsa2286260046a5b5e147d5189000e7ee3.png

849300a5c2a19d8c03f6ba5dc0f221c4.png

学术日历

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

calendR(start_date = "2020-09-01", # Custom start date end_date = "2021-05-31", # Custom end date start = "M", # Start the weeks on Monday mbg.col = 4, # Color of the background of the names of the months months.col = "white", # Color text of the names of the months special.days = "weekend", # Color the weekends special.col = "lightblue", # Color of the special.days lty = 0, # Line type bg.col = "#f4f4f4", # Background color title = "Academic calendar 2020-2021", # Title title.size = 30, # Title size orientation = "p") # Vertical orientation

bcaf17edf047ef2849c8df05e805f8fe.png
当然,我觉得打印出来可能效果更好用吧。这里只是给出一个简单的例子,你可以在这个基础上加上背景以及你喜欢的颜色,可以继续往下看。

c0423ff8851bee3059d31308b3975966.png

私人定制

接下来,就是给日历加了背景以及根据直男审美把其他颜色进行了调整。下面给出上次大家说还不错的日历的源代码.可以使用 pdf = TRUE 将日历进行导出(默认为 A4 格式)。可以在doc_name 参数中指定生成的 PDF 文件的名称。此外,你可以在几种纸张尺寸之间进行选择以保存日历,从"A6"到,"A0"。但是注意,可能需要微调一些字体尺寸来获得所需的输出。如果想制作自己的日历,只需修改 img 的图片,存储的路径(默认在我的文档里)。

3.1 日历

img "C:/Users/ZLL/Desktop/5.jpg"calendR(year = 2021, start = "M", title.col = "white", # Weeks start on Monday mbg.col = "#cd853f", # Background color of the month names months.col = "white", # Color of the text of the month names weeknames.col = "white", special.days = "weekend", # Color the weekends special.col = "#a9a9a9", # Color of the special.days lty = 0, # Line type (no line) weeknames = c("Mo", "Tu", # Week names "We", "Th", "Fr", "Sa", "Su"), title.size = 40, # Title size orientation = "p", bg.img = img, pdf = TRUE, doc_name = "My_calendar_brown")

43a4c13ec44e44e8fac002c042bb75b2.png

3.2 月历

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

img "C:/Users/ZLL/Desktop/5.jpg"invisible(sapply(1:12 , function(i) calendR(year = 2021,month = i, pdf = TRUE, title.col = "white", # Weeks start on Monday mbg.col = "#cd853f", # Background color of the month names months.col = "white", # Color of the text of the month names weeknames.col = "white", special.days = "weekend", # Color the weekends special.col = "gray60", # Color of the special.days lty = 0, # Line type (no line) bg.img = img, doc_name = file.path("C:\\Users\\ZLL\\Documents\\calendar", paste0("Calendar(gray)_2021_", i)))) )

90bc98ae797b9f0de7a4fc458723c513.png

3af7a8e1ffb247f8762f1c50d70a4a83.png

4f957d0b8c9bfb3ccdfb507da00da503.png

更多精彩推荐

☞弃用 COOKIE!

☞前端诸神大战,Vue、React 依旧笑傲江湖

☞计算机巨星陨落!图灵奖得主 Edmund Clarke 因感染“新冠”逝世

☞Github 超 20000 Star,最火开源视频库 FFmpeg 这 20 年!

☞跨平台将终结

☞曾被“劝退”的 C++ 20 正式发布!

☞Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学

点分享点点赞点在看




推荐阅读
  • 随着前端技术的发展,越来越多的开发者开始使用react、vue等web框架,但很少有人深入理解这些框架的源码。然而,这些框架底层都是由原生的javascript构建而成。对于初学前端的人来说,可能会认为javascript很容易上手,但实际上只是因为它被高度封装了。与能够使用封装类的人相比,能够理解框架原理的人则处于另一个层面。本文将深入剖析jquery源码,探寻框架底层的原理,帮助读者更好地理解web框架的运行机制。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • Vue3中setup函数的参数props和context配置详解
    本文详细介绍了Vue3中setup函数的参数props和context的配置方法,包括props的接收和配置声明,以及未通过props进行接收配置时的输出值。同时还介绍了父组件传递给子组件的值和模板的相关内容。阅读本文后,读者将对Vue3中setup函数的参数props和context的配置有更深入的理解。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • 在package.json中有如下两个对象:husky:{hooks:{pre-commit:lint-staged}},lint-staged:{src** ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
author-avatar
Effy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有