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

相关文章
|
6月前
「 Sketch超实用教程 」图层上的优雅技巧
「 Sketch超实用教程 」图层上的优雅技巧
43 0
|
定位技术 atlas
Planet snap shot 澳大利亚珊瑚礁精选照片一览(每一张都可作为壁纸)2022 年 4 月 7 日
Planet snap shot 澳大利亚珊瑚礁精选照片一览(每一张都可作为壁纸)2022 年 4 月 7 日
271 0
Planet snap shot 澳大利亚珊瑚礁精选照片一览(每一张都可作为壁纸)2022 年 4 月 7 日
|
PHP
艾伟:Silverlight 2中实现Deep Zoom
概述 对于Deep Zoom想必大家都已经不陌生了,在Silverlight 2 Beta 1时已经提供了支持,并且提供了相应的工具Deep Zoom Composer。Silverlight 2 Beta 2中对于Deep Zoom又有了很大的改进,现在支持基于XML的DeepZoom集合的Manifest文件,Beta2还对DeepZoom加了可扩展的MultiScaleTileSource支持,更新之后的Deep Zoom Composer可以使我们不用编写一行代码直接可视化的生成Deep Zoom应用。
987 0
图像滤镜艺术---Photoshop实现Instagram之Sierra滤镜
原文:图像滤镜艺术---Photoshop实现Instagram之Sierra滤镜 本文介绍PS实现Instagram中的Sierra滤镜,内容如下: 先看下效果图: 下面是具体实现步骤: 1.
1214 0
图像滤镜艺术---Photoshop实现Instagram之Mayfair滤镜效果
原文:图像滤镜艺术---Photoshop实现Instagram之Mayfair滤镜效果 本文介绍一下如何使用Photoshop来实现Instagram中的Mayfair滤镜的效果。
1344 0
|
C# 计算机视觉
图像滤镜艺术---Hudson滤镜(Instagram)
原文:图像滤镜艺术---Hudson滤镜(Instagram)     今天给大家实现的是Instagram中的Hudson滤镜,为什么介绍Instagram滤镜,原因很简单,Instagram本身就是一个巨大的成功,迄今为止,没有哪个软件的滤镜效果可以超越它的。
1802 0
零元学Expression Blend 4 - Chapter 7 什麽?影片不再是印象中的方框框!!!看Blend 4如何把影片镶入字里
原文:零元学Expression Blend 4 - Chapter 7 什麽?影片不再是印象中的方框框!!!看Blend 4如何把影片镶入字里 本章将教大家如何在Blend 4里新增Media Element,以及运用Video Brush让影片镶入你所设定的字里,使影片不再是传统的呈现方式。
1287 0