ggsci | 让你的配色Nature化(上)

简介: ggsci | 让你的配色Nature化

R科研绘图调色板—ggsci包


简介

image.png


ggsci提供了一系列高质量的调色板,其灵感来自于期刊、电影等。ggsci中的调色板可用于ggplot2。基本用法:

scale_color_palname()
scale_fill_palname()
#安装并加载ggsci包
install.packages("ggsci")
library("ggsci")
library("ggplot2")
library("gridExtra")

离散型调色板

使用散点图和条形图来演示ggsci中的调色板。


#示例数据集

data("diamonds")#使用diamonds数据集
head(diamonds)
> head(diamonds)
# A tibble: 6 x 10
  carat cut       color clarity depth table price     x     y     z
  <dbl> <ord>     <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.23  Ideal     E     SI2      61.5    55   326  3.95  3.98  2.43
2 0.21  Premium   E     SI1      59.8    61   326  3.89  3.84  2.31
3 0.23  Good      E     VS1      56.9    65   327  4.05  4.07  2.31
4 0.290 Premium   I     VS2      62.4    58   334  4.2   4.23  2.63
5 0.31  Good      J     SI2      63.3    58   335  4.34  4.35  2.75
6 0.24  Very Good J     VVS2     62.8    57   336  3.94  3.96  2.48

#原始配色

p1 <- ggplot(
  subset(diamonds, carat >= 2.2), #筛选数据
  aes(x = table, y = price, colour = cut) #确定xy
) +
  geom_point(alpha = 0.7) + #画点
  geom_smooth(method = "loess", alpha = 0.05, size = 1, span = 1) +  #画平滑曲线
  theme_bw() #主题
p2 <- ggplot(
  subset(diamonds, carat > 2.2 & depth > 55 & depth < 70), #筛选数据
  aes(x = depth, fill = cut) #确定x
) +
  geom_histogram(colour = "black", binwidth = 1, position = "dodge") + #画直方图
  theme_bw() #主题
grid.arrange(p1, p2, ncol = 2) #合并两图

image.png

Nature配色

p1_npg <- p1 + scale_color_npg()
p2_npg <- p2 + scale_fill_npg()
grid.arrange(p1_npg, p2_npg, ncol = 2)

image.png


美国科学促进会(AAAS)

p1_aaas <- p1 + scale_color_aaas()
p2_aaas <- p2 + scale_fill_aaas()
grid.arrange(p1_aaas, p2_aaas, ncol = 2)

image.png


新英格兰杂志(NEJM)

p1_lancet <- p1 + scale_color_lancet()
p2_lancet <- p2 + scale_fill_lancet()
grid.arrange(p1_lancet, p2_lancet, ncol = 2)

image.png


柳叶刀(Lancet)

p1_lancet <- p1 + scale_color_lancet()
p2_lancet <- p2 + scale_fill_lancet()
grid.arrange(p1_lancet, p2_lancet, ncol = 2)

image.png


美国医学会杂志(JAMA)

p1_jama <- p1 + scale_color_jama()
p2_jama <- p2 + scale_fill_jama()
grid.arrange(p1_jama, p2_jama, ncol = 2)

image.png


临床肿瘤学杂志(JCO)

p1_jco <- p1 + scale_color_jco()
p2_jco <- p2 + scale_fill_jco()
grid.arrange(p1_jco, p2_jco, ncol = 2)

image.png


创:战纪(Tron Legacy)

比较适用于使用黑暗主题。

p1_tron <- p1 + theme_dark() + theme(
  panel.background = element_rect(fill = "#2D2D2D"),
  legend.key = element_rect(fill = "#2D2D2D")
) +
  scale_color_tron()
p2_tron <- p2 + theme_dark() + theme(
  panel.background = element_rect(fill = "#2D2D2D")
) +
  scale_fill_tron()
grid.arrange(p1_tron, p2_tron, ncol = 2)

image.png


image.png

相关文章
|
2月前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
|
存储 编解码 数据可视化
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
|
数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之基于域名匹配案例
这篇文章介绍了HAProxy的高级配置选项中的ACL(访问控制列表)功能,特别是如何基于域名匹配进行流量分发的案例,包括ACL的基本概念、语法、使用场景和配置实例。
673 8
HAProxy的高级配置选项-ACL篇之基于域名匹配案例
|
并行计算 Java API
写出高效率python的90个方法,附案例(python3经典编程案例)
该文章提供了90个提高Python编程效率的方法及案例,旨在帮助开发者编写更加高质量和优化的Python代码。
316 1
|
搜索推荐 Docker 容器
生信分析代码之前还好好的,怎么就报错了 Error in Ops. data. frame(guide_loc, panel_loc) :'==' only defined for equally-sized data frames
执行 `DimPlot` 函数时遇到错误 `;Error in Ops. data. frame(g guides_loc, panel_loc) : &#39;==&#39; only defined for equally-sized data frames`。解决方案和办法
2643 0
生信分析代码之前还好好的,怎么就报错了 Error in Ops. data. frame(guide_loc, panel_loc) :'==' only defined for equally-sized data frames
|
存储 缓存 自然语言处理
【Elasticsearch】Elasticsearch倒排索引详解
【Elasticsearch】Elasticsearch倒排索引详解
564 12
|
机器学习/深度学习 人工智能 自然语言处理
未来后端开发的三大趋势
【2月更文挑战第5天】 传统后端开发在面对日益复杂的技术和业务需求时,正经历着一场革命性的改变。本文将探讨未来后端开发的三大趋势:分布式架构、无服务器计算和人工智能应用,并分析其对后端开发者和企业的影响。随着技术的不断进步和创新,我们必须更加灵活地适应这些变化,以满足用户的需求并保持竞争优势。
|
机器学习/深度学习 算法 PyTorch
【PyTorch深度强化学习】带基线的蒙特卡洛策略梯度法(REINFOECE)在短走廊和CartPole环境下的实战(超详细 附源码)
【PyTorch深度强化学习】带基线的蒙特卡洛策略梯度法(REINFOECE)在短走廊和CartPole环境下的实战(超详细 附源码)
393 0
|
机器学习/深度学习 编解码 人工智能
高效轻量级语义分割综述
语义分割是自动驾驶中视觉理解的重要组成部分。然而当前SOTA的模型都非常复杂和繁琐,因此不适合部署在计算资源受限且耗时要求较低的车载芯片平台上。本文深入研究了更紧凑、更高效的模型以解决上述问题,这些模型能够部署在低内存嵌入式系统上,同时满足实时推理的需求。本文讨论了该领域一些优秀的工作,根据它们的主要贡献进行归类,最后本文评估了在相同软硬件条件下模型的推理速度,这些条件代表了一个典型的高性能GPU和低内存嵌入式GPU的实际部署场景。本文的实验结果表明,许多工作能够在资源受限的硬件上实现性能和耗时的平衡。
高效轻量级语义分割综述