R语言:R语言调色板

相信各位在肝图表写论文时,一定都会思考:这张图表用啥颜色?论文整体配色搭配怎么把控才好看?

毕竟高分期刊大牛文章的共通点,除了论文精彩,整体配色也十分具有吸引力。

许多在线配色/提取颜色的工具效果不错,通过下载大牛文章使用PS、AI等直接“偷色”也不是难事。如今即便自己缺少美学灵感,但仍可以做到轻松获取出彩的配色方案。有兴趣可参考往期推文: 《作图颜色调得好,高分文章跑不了!》 、 《如何“偷走”大牛文章漂亮的配色?》

但上述方法可能不适用所有情景(特别是R绘图时)。只需要少量颜色的情况还好,直接通过十六进制颜色码自定义配色即可,做到好看十分简单。

但当绘制一些如堆叠图、桑基图等的多分组图表时,当你需要自定义十几种甚至更多颜色时(如下图),在找配色上就会花费非常多的时间,根据数据的不同,有些需要渐变配色(容易一点),有些则需要离散配色(这个最难),不太适合懒人。

( ISME ,2021)

因此,今天给大家介绍四个能轻松获取高分科学期刊同款配色方案的R包,并讲述如何基于这四个配色包,生成任意所需数量的超好看配色。当然,也能提取出配色方案,“反向”运用于Origin、AI、Excel等其它软件图形的绘制。

# 1. ggsci #

此包是基于ggplot2的颜色主题包,内置的配色方案都为各类科学期刊、科幻电影常用配色。由于篇幅受限,这里仅展示部分常用科学期刊配色,剩余大家自行查看帮助文档。

#相关包的安装和载入

install.packages('ggsci')

library(ggsci)

library(ggplot2)

#查看此包帮助文档(共提供18种配色方案,点击名称即可跳转到对应配色说明及案例)

vignette( "ggsci")

#提取配色的通用函数(palname替换为配色方案名称即可,详见帮助文档)

#scale_color_palname

#scale_fill_palname

#使用R内置数据集创建箱线图作为本次范例:

data(singer,package= "lattice")

p<-ggplot(singer,aes(x=voice.part,y=height,fill=voice.part,color=voice.part,alpha=0.8))+geom_boxplot

p<-p+theme_bw+coord_fixed(ratio=0.25)

#使用Nature配色(NPG)

p2<-p+scale_color_npg+scale_fill_npg

p2

#使用Science配色(AAAS)

p3<-p+scale_color_aaas+scale_fill_aaas

p3

#使用柳叶刀配色(Lancet)

p5<-p+scale_color_lancet+scale_fill_lancet

p5

#使用Journal of Clinical Oncology配色(JCO)

p6<-p+scale_color_jco+scale_fill_jco

p6

那么如何将心仪的颜色提取出来呢?不同的配色方案本质就是不同十六进制颜色码向量的集合。但ggsci包有些特殊,颜色向量集的名称并不和帮助文档中所给的对应配色方案名称对应,因此需要多一步自行查找。

#查看选中配色方案的帮助文档 (以Nature的配色NPG为例)

library( "scales")

? scale_color_npg

查看NPG的帮助文档可发现,此配色方案包含共10种颜色,颜色向量集名称为“nrc”,可以调整透明度。

#可选择提取≤10种颜色,但可通过调节透明度产出不同明度的配色方案

mycolor<-pal_npg( "nrc", alpha = 0.5)(8) #提取8种颜色,透明度80%

mycolor

show_col(mycolor)

ggsci包中其余配色方案也可通过此方法来获取十六进制颜色码,大家可根据需要直接复制颜色码或者保存配色图片。

# 2. RColorBrewer #

这个包的使用频率也非常高,上一周推文 《如何绘制Science文章的“花式”河流图?》 中就使用它进行配色。

#RColorBrewer包的安装和载入

install.packages('RColorBrewer')

library(RColorBrewer)

#查看帮助文档

? RColorBrewer

#查看全部配色方案

display.brewer. all

#作者将上述配色方案分为了三类(从上至下):连续型(sequential)、离散型(Qualitative)、极端型(Diverging),可适用于不同类型的分类变量(非常方便!),以下代码可分别进行查看

display.brewer. all(type= "seq")

display.brewer. all(type= "qual")

display.brewer. all(type= "div")

#使用Spectral配色方案

mycolor2<-brewer.pal(11, "Spectral")#可选择的颜色数量区间在此配色最大数和绘图所需数之间

p7<-p+scale_fill_manual(values=rev(mycolor2))+

scale_color_manual(values=rev(mycolor2))

p7

#使用YlOrRd配色方案

mycolor3<-brewer.pal(9, "YlOrRd")

p8<-p+scale_fill_manual(values=rev(mycolor3))+

scale_color_manual(values=rev(mycolor3))

p8

RColorBrewer包可直接提取配色,颜色集合的名称和配色方案名称相同。

#提取所需配色的十六进制颜色

brewer.pal(9, "YlOrRd")

show_col(mycolor3)

两个包的基础用法就介绍到这。此外,文首提到的常见情况——分类变量非常多的情况怎么办?上述R包里每种方案所包含的颜色数量似乎也就10来种,似乎不够用?

#方法一:

使用colorRampPalette扩展上述R包颜色

#这个函数的基本用法:基于指定的颜色向量,生成指定数量的渐变颜色

col3<-colorRampPalette(c('blue','white','red'))(30)

show_col(col3)

#使用colorRampPalette扩展R包配色方案中的颜色

col4<-colorRampPalette(brewer.pal(8,'Set2'))(56)#将RColorBrewer包中的Set2方案8个颜色扩展为56个

col5<-colorRampPalette((pal_npg( "nrc")(9)))(56)#将ggsci包中的NPG方案9个颜色扩展为56个

show_col(col4)

show_col(col5)

当然,你也可以通过从配色包中提取出心仪的十六进制颜色码,去任意指定自己所需颜色,这里不再展示。

#方法二:

使用paletteer包

朋友们,如果上述方法还不能满足你的要求,那就用用看paletteer!这个包中共收录了52个R包中的2,100种配色方案,都可直接调用,出现“配色荒”算我输!

#paletteer包的安装、调用、查看帮助文档

install.packages( "paletteer")

library(paletteer)

? paletteer

Paletteer包中针对不同数据类型(连续型、离散型),存在两种调用函数,详见下文:

1.连续型配色方案:和colorRampPalette函数类似,可以基于选定的配色主题扩展出任意所需数量颜色。

#生成连续型配色方案(基于选定的配色主题拓展出所需任意数量的颜色):

c_palettes<- palettes_c_names#查看所有配色

我们可以看到,连续型配色方案中共有330种方案,每个方案都可以生成指定数量颜色~

#引号处配色名称可直接Tab键浏览选取,也可以直接输入,格式为:R包名称::配色方案名称

paletteer_c( "gameofthrones::targaryen", n = 40)

paletteer_c( "gameofthrones::arya", n = 15)

paletteer_c( "pals::ocean.matter", n = 25)

我们任意盲挑几种搭配,生成不同数量的颜色,如下图,十六进制颜色码都叠加在对应颜色上,我们在挑配色时就太方便啦(当然也可以生成色卡直接导出,见前文,这里不赘述)!

2.离散型配色方案:虽然每种配色方案依然有最大颜色数限制,但架不住收纳的配色主题多啊(共有2,037种配色方案)!从几种,到十几种、二三十种、上百种颜色的配色方案都完美囊括。

#生成离散型配色方案:

d_palettes<- palettes_d_names#查看所有配色 ,共计2037种配色方案

paletteer_d( "ggthemes::Classic_20",n=20) #随机选一个查看

#将随机选取的Classic_20配色方案运用于箱线图示例:

mycol<-paletteer_d( "ggthemes::Classic_20",n=20)

p9<-p+scale_fill_manual(values=rev(mycol))+

scale_color_manual(values=rev(mycol))

p9

真的随便乱挑出来的配色都好好看!

#方法三:

使用colorpicker包

paletteer还不满足,看来是时候展现真正的技术,自己手动丰衣足食了!

R语言的难点之一就是啥都要敲代码,搞得上个色都那么艰难。但是,colorpicker为我们提供了一个交互式颜色获取面板,让你能够体验“非R”的轻松愉快(简单来说,你可以不用敲代码直接点点点快速获取颜色)。

#colorpicker包的安装、调用

install.packages( "colourpicker")

library(colourpicker)

col_colourpicker<-#先设置需要赋值的颜色名,鼠标选择在Addins处选择colourpicker

然后会出来一个交互式面板(像是在用别的软件了呢),如下:

在Any colour面板,你可以点击“+”任意添加所需颜色数量,在“Select any colour”处任意挑选颜色,或者直接输入十六进制颜色码,如下图。

在Find R colour面板,你可以任意选择一个颜色,并生成一组40个颜色以内的相近色搭配色板,根据需要点击颜色将其添加到“Selected colours”处。

最后,在All R colour面板提供了好看的配色库可自行挑选添加,在完成颜色选择后,我们点击右上角的Done即可输出十六进制颜色码或者颜色名称。

col_map<-c( "#E07979", "#801212", "#EDB4B4", "#4169E1", "#6CA6CD", "#48D1CC", "#FFC0CB", "#96CDCD")

对于想自行控制配色的人来说,简直太方便啦!

上述方法都能够快速生成任意所需数量的科学期刊配色方案!根据自己的需求选择适合自己的方法吧!今天的分享就到这里










https://colorbrewer2.org/





R语言生信绘图配色(GGSCI包)--SCI论文配色

标签:生信R语言r语言视图设计rgb生物学

R语言生信学习-GGSCI包介绍–SCI论文的配色

对于我这条使用R语言来绘图的生信🐕而言,最令我绝望的便是关于配色的问题,很多时候自己选的颜色看上去会特别生硬,就算使用colorRampPalette产生渐变色也感觉不够理想。无意间,我看到了“ggsci”这个包,它完全就是为了SCI配色而设计的,下面我将挑选一些重要的函数来讲解,详细的内容可以去看官网的说明。

内置函数介绍:

这些是帮助页面中的函数以及简短的介绍:

pal_aaas AAAS Journal Color Palettes

pal_d3 D3.js Color Palettes

pal_futurama The Futurama Color Palettes

pal_gsea The GSEA GenePattern Color Palettes

pal_igv Integrative Genomics Viewer (IGV) Color Palettes

pal_jama Journal of the American Medical Association Color Palettes

pal_jco Journal of Clinical Oncology Color Palettes

pal_lancet Lancet Journal Color Palettes

pal_locuszoom LocusZoom Color Palette

pal_material Material Design Color Palettes

pal_nejm NEJM Color Palettes

pal_npg NPG Journal Color Palettes

pal_rickandmorty Rick and Morty Color Palettes

pal_simpsons The Simpsons Color Palettes

pal_startrek Star Trek Color Palettes

pal_tron Tron Legacy Color Palettes

pal_uchicago The University of Chicago Color Palettes

pal_ucscgb UCSC Genome Browser Color Palette

rgb_gsea The GSEA GenePattern Color Palettes

rgb_material Material Design Color Palettes

scale_color_aaas AAAS Journal Color Scales

scale_color_d3 D3.js Color Scales

scale_color_futurama The Futurama Color Scales

scale_color_gsea The GSEA GenePattern Color Scales

scale_color_igv Integrative Genomics Viewer (IGV) Color Scales

scale_color_jama Journal of the American Medical Association Color Scales

scale_color_jco Journal of Clinical Oncology Color Scales

scale_color_lancet Lancet Journal Color Scales

scale_color_locuszoom LocusZoom Color Scales

scale_color_material Material Design Color Palettes

scale_color_nejm NEJM Color Scales

scale_color_npg NPG Journal Color Scales

scale_color_rickandmorty Rick and Morty Color Scales

scale_color_simpsons The Simpsons Color Scales

scale_color_startrek Star Trek Color Scales

scale_color_tron Tron Legacy Color Scales

scale_color_uchicago The University of Chicago Color Scales

scale_color_ucscgb UCSC Genome Browser Color Scales

scale_colour_aaas AAAS Journal Color Scales

scale_colour_d3 D3.js Color Scales

scale_colour_futurama The Futurama Color Scales

scale_colour_gsea The GSEA GenePattern Color Scales

scale_colour_igv Integrative Genomics Viewer (IGV) Color Scales

scale_colour_jama Journal of the American Medical Association Color Scales

scale_colour_jco Journal of Clinical Oncology Color Scales

scale_colour_lancet Lancet Journal Color Scales

scale_colour_locuszoom LocusZoom Color Scales

scale_colour_material Material Design Color Palettes

scale_colour_nejm NEJM Color Scales

scale_colour_npg NPG Journal Color Scales

scale_colour_rickandmorty Rick and Morty Color Scales

scale_colour_simpsons The Simpsons Color Scales

scale_colour_startrek Star Trek Color Scales

scale_colour_tron Tron Legacy Color Scales

scale_colour_uchicago The University of Chicago Color Scales

scale_colour_ucscgb UCSC Genome Browser Color Scales

scale_fill_aaas AAAS Journal Color Scales

scale_fill_d3 D3.js Color Scales

scale_fill_futurama The Futurama Color Scales

scale_fill_gsea The GSEA GenePattern Color Scales

scale_fill_igv Integrative Genomics Viewer (IGV) Color Scales

scale_fill_jama Journal of the American Medical Association Color Scales

scale_fill_jco Journal of Clinical Oncology Color Scales

scale_fill_lancet Lancet Journal Color Scales

scale_fill_locuszoom LocusZoom Color Scales

scale_fill_material Material Design Color Palettes

scale_fill_nejm NEJM Color Scales

scale_fill_npg NPG Journal Color Scales

scale_fill_rickandmorty Rick and Morty Color Scales

scale_fill_simpsons The Simpsons Color Scales

scale_fill_startrek Star Trek Color Scales

scale_fill_tron Tron Legacy Color Scales

scale_fill_uchicago The University of Chicago Color Scales

scale_fill_ucscgb UCSC Genome Browser Color Scales

函数解释:

根据说明书我们可以简单的将它们分成三类:pal,rgb,scale,前两个可以生成不同的颜色组,scale可以直接用与ggplot中。

PAL_:

pal的调用都是一个模板,其中只有两个参数:

palette的default默认参数(只用7个基础色),alpha代表透明度,取值在(0,1)间,越大越透明.

在pal后面加上(6)代表只产生6个颜色。

pal_aaas(palette=c("default"),alpha=1)(6)

1

上面是pal_aaas的一个例子,若想查看具体是哪一些颜色可以使用“scales”包来实现:

library("scales")

library("ggsci")

show_col(pal_aaas("default")(7))  #图一

show_col(pal_aaas("default", alpha = 0.6)(7))  #图二

show_col(pal_aaas("default", alpha = 0.2)(4))  #图三

图一至图三:

以上是pal颜色的介绍,它的配色方案采用的是很多论文中的技巧,例如Integrative Genomics Viewer (IGV)的配色,Lancet Journal (柳叶刀)的配色,Journal of Clinical Oncology的配色等等,可以按照需求利用这些配色方案来完成绘图任务。

RGB:

在ggsci包中,只有rgb_gsea和rgb_material这两个基于RGB色彩模式的函数【红、绿、蓝】,但是它们的用法还是有一些差别:

rgb_gsea(palette = c("default"), n = 12, alpha = 1, reverse = FALSE)

rgb_material(palette = c("red", "pink", "purple", "deep-purple", "indigo",

  "blue", "light-blue", "cyan", "teal", "green", "light-green", "lime",

  "yellow", "amber", "orange", "deep-orange", "brown", "grey", "blue-grey"),

  n = 10, alpha = 1, reverse = FALSE)

参数详解:

n:产生多少个独立的颜色

alpha:透明度

reverse:逻辑值,决定颜色的排序是否反序

palette:在rgb_material中有19种配色方案

实例:

library("scales")

show_col(pal_material("indigo")(10))

show_col(pal_material("indigo", n = 20, alpha = 0.6, reverse = TRUE)(13))

SCALE:

个人感觉scale函数是整个“ggsci”包中最简单和常用的包,只需要在ggplot后面+上看中的scale颜色方案,即可完成配色,下面是一些实例的使用,分别是基于柳叶刀的配色方案(scale_fill_lancet()),基于GSEA(scale_fill_gsea())和基于Integrative Genomics Viewer (IGV)的配色方案( scale_fill_igv())

library("ggplot2")

data("diamonds")

ggplot(subset(diamonds, carat > 2.2 & depth > 55 & depth < 70),

      aes(x = depth, fill = cut)) +

  geom_histogram(colour = "black", binwidth = 1, position = "dodge") +

  theme_bw() + scale_fill_lancet()

library("ggplot2")

library("reshape2")

data("mtcars")

cor = cor(mtcars)

cor_melt = melt(cor)

ggplot(cor_melt,

      aes(x = Var1, y = Var2, fill = value)) +

  geom_tile(colour = "black", size = 0.3) +

  theme_bw() + scale_fill_gsea()

library("ggplot2")

data("diamonds")

p = ggplot(subset(diamonds, carat > 2.2 & depth > 55 & depth < 70),

            aes(x = depth, fill = cut)) +

  geom_histogram(colour = "black", binwidth = 1, position = "dodge") +

  theme_bw()

p + scale_fill_igv()

以上便是ggsci包的简介,希望对每一个学习生信的人都有所帮助,我这里也会不断把学习中遇到的问题和经验发上来,希望志同道合的朋友能和我多多讨论,一起学习。

参考文献

ggsci的官网地址:https://nanx.me/ggsci/articles/ggsci.html#discrete-color-palettes



1. 简介

ggsci是一款优秀的ggplot2的配色包,包含了常见杂志的配色,比如lancet,jco,jama,nejm等,主要通过以下2句代码进行配色:

scale_folor_palname

scale_fill_palname

所有的配色方案如下表格所示:

2.离散型配色

先准备2个图形,使用原始配色。

rm(list = ls())

library("ggsci")

library("ggplot2")

## Warning: package 'ggplot2' was built under R

## version 4.0.5

library("gridExtra")

data("diamonds")

p1 = ggplot(subset(diamonds, carat >= 2.2),

            aes(x = table, y = price, colour = cut)) +

  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)) +

  geom_histogram(colour = "black", binwidth = 1, position = "dodge") +

  theme_bw()

grid.arrange(p1, p2, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## AAAS配色方案

p1_aaas = p1 + scale_color_aaas()

p2_aaas = p2 + scale_fill_aaas()

grid.arrange(p1_aaas, p2_aaas, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## nejm配色

p1_nejm = p1 + scale_color_nejm()

p2_nejm = p2 + scale_fill_nejm()

grid.arrange(p1_nejm, p2_nejm, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## lancet

p1_lancet = p1 + scale_color_lancet()

p2_lancet = p2 + scale_fill_lancet()

grid.arrange(p1_lancet, p2_lancet, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## jama

p1_jama = p1 + scale_color_jama()

p2_jama = p2 + scale_fill_jama()

grid.arrange(p1_jama, p2_jama, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## jco

p1_jco = p1 + scale_color_jco()

p2_jco = p2 + scale_fill_jco()

grid.arrange(p1_jco, p2_jco, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## ucscgb

p1_ucscgb = p1 + scale_color_ucscgb()

p2_ucscgb = p2 + scale_fill_ucscgb()

grid.arrange(p1_ucscgb, p2_ucscgb, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## d3

p1_d3 = p1 + scale_color_d3()

p2_d3 = p2 + scale_fill_d3()

grid.arrange(p1_d3, p2_d3, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## locuszoom

p1_locuszoom = p1 + scale_color_locuszoom()

p2_locuszoom = p2 + scale_fill_locuszoom()

grid.arrange(p1_locuszoom, p2_locuszoom, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## igv

p1_igv_default = p1 + scale_color_igv()

p2_igv_default = p2 + scale_fill_igv()

grid.arrange(p1_igv_default, p2_igv_default, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## uchicago

p1_uchicago = p1 + scale_color_uchicago()

p2_uchicago = p2 + scale_fill_uchicago()

grid.arrange(p1_uchicago, p2_uchicago, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## star trek

p1_startrek = p1 + scale_color_startrek()

p2_startrek = p2 + scale_fill_startrek()

grid.arrange(p1_startrek, p2_startrek, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## 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)

## `geom_smooth()` using formula 'y ~ x'

## futurama

p1_futurama = p1 + scale_color_futurama()

p2_futurama = p2 + scale_fill_futurama()

grid.arrange(p1_futurama, p2_futurama, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## rick and morty

p1_rickandmorty = p1 + scale_color_rickandmorty()

p2_rickandmorty = p2 + scale_fill_rickandmorty()

grid.arrange(p1_rickandmorty, p2_rickandmorty, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

## simpsons

p1_simpsons = p1 + scale_color_simpsons()

p2_simpsons = p2 + scale_fill_simpsons()

grid.arrange(p1_simpsons, p2_simpsons, ncol = 2)

## `geom_smooth()` using formula 'y ~ x'

3.连续性颜色配色

## 先用默认配色

library("reshape2")

data("mtcars")

cor = cor(unname(cbind(mtcars, mtcars, mtcars, mtcars)))

cor_melt = melt(cor)

p3 = ggplot(cor_melt, aes(x = Var1, y = Var2, fill = value)) +

  geom_tile(colour = "black", size = 0.3) +

  theme_bw() +

  theme(axis.title.x = element_blank(),

        axis.title.y = element_blank())

p3

## gsea配色

p3_gsea    = p3 + scale_fill_gsea()

p3_gsea_inv = p3 + scale_fill_gsea(reverse = TRUE)

grid.arrange(p3_gsea, p3_gsea_inv, ncol = 2)

## material design配色

library("reshape2")

set.seed(42)

k = 9

x = diag(k)

x[upper.tri(x)] = runif(sum(1:(k - 1)), 0, 1)

x_melt = melt(x)

p4 = ggplot(x_melt, aes(x = Var1, y = Var2, fill = value)) +

  geom_tile(colour = "black", size = 0.3) +

  scale_x_continuous(expand = c(0, 0)) +

  scale_y_continuous(expand = c(0, 0)) +

  theme_bw() + theme(

    legend.position = "none", plot.background = element_blank(),

    axis.line = element_blank(), axis.ticks = element_blank(),

    axis.text.x = element_blank(), axis.text.y = element_blank(),

    axis.title.x = element_blank(), axis.title.y = element_blank(),

    panel.background = element_blank(), panel.border = element_blank(),

    panel.grid.major = element_blank(), panel.grid.minor = element_blank())

p4

## 使用19种material disign

grid.arrange(

  p4 + scale_fill_material("red"),        p4 + scale_fill_material("pink"),

  p4 + scale_fill_material("purple"),      p4 + scale_fill_material("deep-purple"),

  p4 + scale_fill_material("indigo"),      p4 + scale_fill_material("blue"),

  p4 + scale_fill_material("light-blue"),  p4 + scale_fill_material("cyan"),

  p4 + scale_fill_material("teal"),        p4 + scale_fill_material("green"),

  p4 + scale_fill_material("light-green"), p4 + scale_fill_material("lime"),

  p4 + scale_fill_material("yellow"),      p4 + scale_fill_material("amber"),

  p4 + scale_fill_material("orange"),      p4 + scale_fill_material("deep-orange"),

  p4 + scale_fill_material("brown"),      p4 + scale_fill_material("grey"),

  p4 + scale_fill_material("blue-grey"),

  ncol = 6)

4.获取配色的色值

mypal = pal_npg("nrc", alpha = 0.7)(9)

mypal

## [1] "#E64B35B2" "#4DBBD5B2" "#00A087B2"

## [4] "#3C5488B2" "#F39B7FB2" "#8491B4B2"

## [7] "#91D1C2B2" "#DC0000B2" "#7E6148B2"

library("scales")

## Warning: package 'scales' was built under R

## version 4.0.5

show_col(mypal)

本文内容主要参考ef="https://cran.r-project.org/web/packages/ggsci/vignettes/ggsci.html#introduction%E3%80%82%22ggsci%22">ggsic官方网站

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容