前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R沟通|设置xaringan主题

R沟通|设置xaringan主题

作者头像
庄闪闪
发布2021-04-09 11:29:05
1.2K0
发布2021-04-09 11:29:05
举报

简介

上一期我们讲解了如何使用谢益辉写的xaringan包[1]制作幻灯片,推文在这:R沟通|用xaringan包制作幻灯片。但是最后留了一个小尾巴,如果你不喜欢最原始版本的主题的话。你可以把内部的css进行设置,这时你得需要一些javascript的知识。

但是对于统计专业的我,以及其他非计算机专业的读者而言,入门门槛还是有的。感兴趣的可以看看这本书:JavaScript for R[2]

本教程主要对于刚刚入门R文本沟通的小伙伴,咱们现在先学会如何更改现有的主题就可以了,其他以后再慢慢研究。

使用教程

gadenbuie写了一个叫做xaringanthemer[3]的包,可以更改写轮眼的主题,使用起来也非常方便,接下来看教程。

觉得本文有用的,记得一键三连呀,哈哈

1.安装

可以从CRAN安装xaringanthemer包

代码语言:javascript
复制
install.packages("xaringanthemer")

也可以通过Github安装

代码语言:javascript
复制
# install.packages("remotes")
remotes::install_github("gadenbuie/xaringanthemer")

再次推荐: 除非你是六指琴魔,否则我建议安装 RStudio 编辑器,它会让你做幻灯片做得飞起。以下为我整理关于Rstudio的入门使用教程

2.快速入门

这里不做过多介绍了,可以参考R沟通|用xaringan包制作幻灯片,已经给出很详细介绍了。

  1. 创建完新文档后,我们将xaringan-themer.css文件添加到xaringan幻灯片的YAML中。
代码语言:javascript
复制
output:
  xaringan::moon_reader:
    css: xaringan-themer.css

例子:YAML

  1. 然后,在程序块中加载xaringanthemer并设置主题[4]

注意:隐藏代码(在chunck中设置include=FALSE, warning=FALSE),例如

代码语言:javascript
复制
library(xaringanthemer)
style_mono_accent(
  base_color = "#1c5253",
  header_font_google = google_font("Josefin Sans"),
  text_font_google   = google_font("Montserrat", "300", "300i"),
  code_font_google   = google_font("Fira Mono")
)

小编界面

主题设置后的界面

使用技巧

1.匹配ggplot主题

xaringanthemer甚至提供带有theme_xaringan()ggplot2主题,可以直接使用幻灯片主题中的颜色和字体。建立在showtext[5]包的基础上,旨在与Google字体无缝协作。

还提供了颜色和填充比例,用于根据幻灯片中使用的原色匹配顺序的颜色比例。有关更多详细信息,请参见?scale_xaringan

更多细节和示例可以在vignette(“ggplot2-themes”)中找到。

代码语言:javascript
复制
library(ggplot2)
ggplot(diamonds) +
  aes(cut, fill = cut) +
  geom_bar(show.legend = FALSE) +
  labs(
    x = "Cut",
    y = "Count",
    title = "A Fancy diamonds Plot"
  ) +
  theme_xaringan(background_color = "#FFFFFF") +
  scale_xaringan_fill_discrete()

该主题下的条形图配色

2.自补全功能

xaringanthemer对Tab键十分友好,该功能可以在查找每个主题中调整模板的函数!

使用Tab键

在RStudio中打开该模板

你也可以跳过上述内容,仅从RStudio中的“新建Rmarkdwon文档”菜单创建一个“Ninja Themed Presentation”。

其他主题设置

对于前面给字体,颜色啥进行单独设置之外,更加“懒”的方法就是:使用下面这下函数可以产生各种系列的幻灯片。

你可以根据以下,选择自己想要的主题,在yaml之后加入以下代码,就会得到相应的模板了!

style_mono_light()

代码语言:javascript
复制
library(xaringanthemer)
style_mono_light(base_color = "#23395b")

style_mono_dark()

代码语言:javascript
复制
library(xaringanthemer)
style_mono_dark(base_color = "#cbf7ed")

style_mono_accent()

代码语言:javascript
复制
library(xaringanthemer)
style_mono_accent(base_color = "#43418A")

style_mono_accent_inverse()

代码语言:javascript
复制
library(xaringanthemer)
style_mono_accent(base_color = "#43418A")

style_duo()

代码语言:javascript
复制
library(xaringanthemer)
style_duo(primary_color = "#1F4257", secondary_color = "#F97B64")

style_solarized_light()

代码语言:javascript
复制
library(xaringanthemer)
style_solarized_light()

style_solarized_dark()

代码语言:javascript
复制
library(xaringanthemer)
style_solarized_dark()

小编案例

最近在写年度总结,正好用了写轮眼,效果还是很不错的,只怪今年学术成果没啥东西,汇报页面数惨不忍睹。

小编有话说

  • 如果不会在内部加入其他元素,可以参考这篇教程[6]。包含了图片导入,表格输出等内容。我在这没有做过多的解释,大家自行学习哦!
  • 如果想自定义主题也可以看这篇教程[7]哦!
  • 在Rmarkdown中你也可以加入表情哦!不妨试试😎

如果你对Rmarkdown制作文本沟通系列感兴趣,可以看前几次推文。

参考资料

[1]

xaringan包: https://github.com/yihui/xaringan

[2]

JavaScript for R: https://book.javascript-for-r.com/

[3]

xaringanthemer: https://github.com/gadenbuie/xaringanthemer

[4]

设置主题教程: https://pkg.garrickadenbuie.com/xaringanthemer/articles/xaringanthemer.html#themes

[5]

showtext: https://github.com/yixuan/showtext

[6]

如何在写轮眼中加入元素: https://psysandsy.github.io/xaringan-teach.html#19

[7]

自定义主题教程: https://pkg.garrickadenbuie.com/xaringanthemer/articles/xaringanthemer.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 庄闪闪的R语言手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 使用教程
    • 1.安装
      • 2.快速入门
      • 使用技巧
        • 1.匹配ggplot主题
          • 2.自补全功能
          • 在RStudio中打开该模板
          • 其他主题设置
            • style_mono_light()
              • style_mono_dark()
                • style_mono_accent()
                  • style_mono_accent_inverse()
                    • style_duo()
                      • style_solarized_light()
                        • style_solarized_dark()
                          • 小编案例
                            • 小编有话说
                              • 参考资料
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档