Thematic:统一与自动化R图形美化框架
Thematic是一款强大的R包,旨在简化对ggplot2、lattice和基础R图形的样式设定,提供了一个集中式的方法来定制你的图表风格,并支持在Shiny、R Markdown和RStudio中自动应用这些主题。
安装与依赖
通过CRAN安装最新稳定的Thematic版本:
install.packages("thematic")
为了启用Shiny中的自动主题,需要Shiny 1.5.0或更高版本:
install.packages("shiny")
对于R Markdown的自动主题,需要Rmarkdown 2.7或更高版本:
install.packages("rmarkdown")
如果想要使用自定义字体,建议安装showtext
和/或ragg
包:
install.packages("showtext")
install.packages("ragg")
功能概览
Thematic的自动主题功能赋予R图形在不同环境下的自我调整能力。例如,在Shiny中,只需调用thematic_shiny()
,所有plotOutput()
内的图表就会依据应用CSS颜色设定新的默认风格。如果应用使用了谷歌字体(并安装了showtext
和/或ragg
),你可以传递font = "auto"
给thematic_shiny()
,它将自动将CSS字体转换为R可用的字体。
下面是一个以"Pacifico"字体为例的Shiny应用:
library(shiny)
library(ggplot2)
library(thematic)
# 启动应用前调用thematic_shiny()
thematic_shiny(font = "auto")
ui <- fluidPage(
theme = bslib::bs_theme(
bg = "#002B36", fg = "#EEE8D5", primary = "#2AA198",
base_font = bslib::font_google("Pacifico")
),
...
)
通过这样的设置,所有图表都会呈现出一致且优雅的外观。
应用场景
Shiny
Thematic能自动地将Shiny应用中的CSS颜色应用到R图形上,使图表风格与应用整体设计保持一致。
RStudio
在RStudio中,使用thematic_on()
,后续创建的所有图表将在“Plots”查看器中反映出你的RStudio主题风格。这种智能化的适配使得图表色彩与RStudio界面完美融合。
R Markdown
对于R Markdown文档,使用thematic_rmd()
可以确保所有内嵌图表都符合文档的主题。
自定义主题
除了自动适应,Thematic还允许直接指定背景色、前景色、强调色以及字体,提供了高度的定制性。例如,可以通过thematic_on()
为所有图表设置全局样式,然后在特定图表上使用theme()
进行进一步个性化调整。
学习更多
- 详细了解如何在Shiny、R Markdown和RStudio中实现自动主题化,参见自动主题文章。
- 深入研究Thematic的自定义主题选项,以及它们如何与ggplot2、lattice和基础R图形配合,参见自定义主题文章。
- 学习如何在图表之间控制Thematic的作用范围,参见范围文章。
- 关于如何使用Google Fonts,参考字体文章。
实验示例
在这个RStudio云实例中,你可以直接运行Thematic的一些示例代码,亲自体验其功能。
行为准则
Thematic遵循贡献者行为守则,所有贡献者都需要遵守其中的规定。
让我们一起探索Thematic,提升R图形的视觉呈现效果,享受更便捷的定制体验!