R語言生信繪圖配色(ggsci包)--SCI論文配色

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)

上面是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()

Integrative Genomics Viewer (IGV)以上便是ggsci包的簡介,希望對每一個學習生信的人都有所幫助,我這裏也會不斷把學習中遇到的問題和經驗發上來,希望志同道合的朋友能和我多多討論,一起學習。

參考文獻

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章