ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

这篇具有很好参考价值的文章主要介绍了ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【简说基因】ggplot2 是一种面向数据的绘图系统,可以先进行数据相关的绘图以探索数据,最后呈现结果时,再通过主题控制所有非数据元素。

ggthemr 是一个 ggplot2 的主题扩展包,其设计理念是:你只需设置主题,然后就可以忘记它,无需改变任何现有代码。主题有几个部分:

  • 背景、坐标轴、网格线、文字等的颜色调色板。

  • 坐标轴线和网格线的布局。

  • 图形和周围元素之间的间距(即轴标题到轴线等)。你可以设置间距来确定绘图是紧凑还是分散。

  • 文字大小。

ggthemr 提供许多预设的调色板和布局,并且可以创建自己的颜色方案。

安装

这个包目前还处于开发过程中,可以通过 devtools 下载:

devtools::install_github('Mikata-Project/ggthemr')

用法

ggthemr(
  palette = "dust",
  layout = "clear",
  spacing = 1,
  text_size = 12,
  type = "inner",
  line_weight = 0.5,
  set_theme = TRUE
)

只需要设置颜色方案:

ggthemr('dust')

就这样,你之后创建的所有 ggplot2 图形都将应用该主题。这是因为 ggthemr 在设置主题时做了三件事情:

  1. 使用 ggplot2::theme_set() 函数将默认的 ggplot2 主题更新为指定的 ggthemr 主题。

  2. 使用 ggplot2::update_geom_defaults() 函数修改所有几何图元的美学默认值。

  3. 为全局环境中所有不同的标度创建函数。

你可以使用以下命令清除主题,使画图环境恢复成 ggplot2 的默认设置:

ggthemr_reset()

调色版

flat

library(ggplot2)
library(ggthemr)

p = ggplot(mpg, aes(class, fill = drv)) +
  geom_bar(width = 0.7) +
  theme(legend.position = "top")

ggthemr("flat")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

flat dark

ggthemr("flat dark")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

camouflage

ggthemr("camouflage")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

chalk

ggthemr("chalk")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

copper

ggthemr("copper")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

dust

ggthemr("dust")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

earth

ggthemr("earth")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

fresh

ggthemr("fresh")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

grape

ggthemr("grape")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

grass

ggthemr("grass")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

greyscale

ggthemr("greyscale")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

light

ggthemr("light")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

lilac

ggthemr("lilac")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

pale

ggthemr("pale")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

sea

ggthemr("sea")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

sky

ggthemr("sky")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

solarized

ggthemr("solarized")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

定制调色板

可以通过define_palette()函数可创建自己的主题,这些主题可以像上面的任何调色板一样传递给 ggthemr()。例如:

# Random colours that aren't white.
set.seed(12345)
random_colours <- sample(colors()[-c(1, 253, 361)], 10L)

ugly <- define_palette(
  swatch = random_colours,
  gradient = c(lower = random_colours[1L], upper = random_colours[2L])
)

ggthemr(ugly)
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

布局

主题的布局控制轴、网格线和文本的外观和位置。有些人喜欢主网格线和次网格线,有些人不喜欢或介于两者之间。

Clear (默认)

ggthemr('flat', layout = "clear")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

Clean

ggthemr('flat', layout = "clean")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

Minimal

ggthemr('flat', layout = "minimal")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

Plain

ggthemr('flat', layout = "plain")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

Scientific

ggthemr('flat', layout = "scientific")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

间距

绘图边距和轴标题与线之间的间距等由间距参数控制。较低的值将使绘图更紧凑,较高的值将使元素之间有更多空白。下面的图中,间距分别设置为 0、1 和 2 进行比较。

间距为 0

ggthemr('flat', spacing = 0)
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

间距为 1

ggthemr('flat', spacing = 1)
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

间距为 2

ggthemr('flat', spacing = 2)
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

类型

type参数可以设置为下面 2 个之一:

  • inner: 绘图的背景颜色将不会延伸超过绘图区域。

  • outer:图形的整个区域都会着色。

ggthemr('solarized', type = "inner")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包
ggthemr('solarized', type = "outer")
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

调整主题

有一些函数可以用来调节图形的明暗程度:

  • darken_swatch() / lighten_swatch(): 调暗/调亮样本颜色。

  • darken_gradient() / lighten_gradient(): 调暗/调亮渐变颜色。

  • darken_palette() / lighten_palette(): 调暗/调亮所有颜色。

调暗:

ggthemr('solarized', type = "outer")

darken_palette(amount = 0.5)
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

调亮:

ggthemr('solarized', type = "outer")

lighten_palette(amount = 0.5)
p
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包

调整图形

设置主题后,有时候需要对图形做一些微小调整。比如,可以通过 swatch() 函数获得当前调色板中的所有颜色:

ggthemr('solarized', type = "outer")

swatch()
## [1] "#073642" "#268bd2" "#dc322f" "#2aa198" "#b58900" "#6c71c4" "#d33682"
## attr(,"class")
## [1] "ggthemr_swatch"

如果要调换填充色的顺序:

to_swap = swatch()[2:4]
p + scale_fill_manual(values = rev(to_swap))
ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包
参考资料:

https://github.com/Mikata-Project/ggthemr

专栏文章:

ggplot2 主题专栏 01:内置主题和 ggthemes 扩展包 

——————END——————

关注公众号:简说基因,阅读更多生信好文。

如果你有数据分析需求,欢迎与我们合作:

  • 【生信科服】临床肿瘤 WES 项目个性化分析内容

  • 【生信科服】转录组数据分析内容文章来源地址https://www.toymoban.com/news/detail-410185.html

到了这里,关于ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言tidyverse教程:ggplot2绘图初步

    R语言系列: 编程基础💎循环语句💎向量、矩阵和数组💎列表、数据帧 排序函数💎apply系列函数 tidyverse :readr💎tibble ggplot2有其独特的绘图语法,想要实现数据绘图,除了数据和集合形状之外,还需要一个叫做 aesthetic 的东西,这个不知道应该怎么翻,后面就统一叫做美术

    2024年02月04日
    浏览(30)
  • R语言的ggplot2绘制分组折线图?

    R绘制分组折线图.R 首先看数据情况:group有3组。Time有3组,数据意思是在3组3个时间点测量了某指标,现在要绘制组1、组2、组3某指标y按时间的变化趋势 数据情况: 看看最终的效果图如下: 下面是本次使用的代码 .libPaths () setwd ( \\\"C:/Users/12974/Desktop/百度经验/03图形绘制/03R绘

    2024年01月22日
    浏览(30)
  • R语言画图的-- ggplot2(实现图例的精细修改)

    ggplot2 是R中用来作图的很强的包,但是其用法比较多且各种参数比较复杂,我自己使用的时候还经常需要查阅一些关键参数等,因此想要写一个 r 中 ggplot2 的作图文档,方便自己查阅。 但是今天突然发现了一个网站,这个网站里面包含了 ggplot2 作图的几乎所有内容。有各种图

    2024年02月13日
    浏览(41)
  • R 语言 ggplot2 PCA 主成分分析(虚拟数据集)

    以上代码生成了100行基因,10列样本的矩阵 前五列命名 wt 开头+ 1-5 ,表示正常基因 后五列命名 ko 开头+ 1-5 ,表示缺少基因的样本(knock-out) 给每行基因都统一命名 gene + 1-100 head() 函数默认查看前6行 现在只是定义了矩阵的shape和name,还没填充数值 这段代码的作用是生成一个

    2024年02月11日
    浏览(29)
  • R语言ggplot2 | R语言绘制物种组成面积图(三)

       利用R语言绘制物种组成图。本文以堆叠面积图的方式与大家分享。 面积图又叫区域图。它是在折线图的基础之上形成的, 它将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充,这样一个填充区域我们叫面积。颜色的填充可以更好地突出趋势信息(比如时

    2024年02月13日
    浏览(27)
  • R语言实践——ggplot2+ggrepel绘制散点+优化注释文本位置

    书接adjustText实践——调整matplotlib散点图标签,避免重复 上文中,matplotlib+adjustText对于我的实例来说并没有起到很好的效果。所以,博主决定在R中利用gglot2+ggrepel绘制,期待效果。 博主不常使用R,在此过程中详细记录每一步骤,以作备忘。 2.1 快速绘制散点图(plot) 2.2 ge

    2023年04月11日
    浏览(66)
  • R语言数据绘图学习(0x01)-安装ggplot2与尝试

    一直听说数据分析里R语言是比较‘正统’,况且久闻ggplot2这些R语言的数据分析库大名,想到今后数据分析和整理的需要,这里开一个简单的系列学习一些R语言和ggplot2的绘图基础。本人学习的书籍是Winston Chang大佬的《R Graphics Cookbook》,且稍有一点Python里的Plotnine绘图基础。

    2024年02月04日
    浏览(31)
  • 跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图

    论文 Independent phenotypic plasticity axes define distinct obesity sub-types https://www.nature.com/articles/s42255-022-00629-2#Sec15 s42255-022-00629-2.pdf 论文中没有公开代码,但是所有作图数据都公开了,我们可以试着用论文中提供的数据模仿论文中的图 今天的推文重复一下论文中的Fig3b 差异表达火山图

    2024年02月08日
    浏览(35)
  • [R] How to communicate with your data? - ggplot2

    We have gone through the basic part of how to clean and process before analyzing your data. R语言具有生成各种图形的多种可能性。 并非所有图形功能对初学者来说都是必要的。 复杂的图形需要长代码。 我们将从简单的图形元素开始,然后逐步定制复杂图形。 Which package do we need: ggplot 2 library (

    2024年03月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包