ggplot2配色神器:ggsci

1. ggsci介紹

ggsci提供了一系列配置好的顏色給ggplot2繪制出的圖片調(diào)色赦政,包括一些知名雜志期刊或者軟件甚至是知名科幻電影、動畫等的經(jīng)典配色風(fēng)格泳叠。將這些配色風(fēng)格直接應(yīng)用于我們繪制出的圖作瞄,方便又好看。

# 下載
# download ggsci package
install.packages("ggsci")

#install.packages("devtools")
devtools::install_github("nanxstats/ggsci")

對所有的調(diào)色板危纫,使用方法:p+scale_color_xx()p+scale_fill_xx()宗挥。
p是繪制好的ggplot圖,xx指調(diào)色板的名字
所有調(diào)色板的名字:npg, aaas, nejm, lancet, jama, jco, ucscgb, d3, locuszoom, igv, cosmic, uchicago, startrek, tron, futurama, rickandmorty, simpsons, gsea, material

2. ggsci使用

2.1 離散型調(diào)色板种蝶,應(yīng)用于離散型數(shù)值

使用diamond數(shù)據(jù)集做演示契耿,先使用diamond數(shù)據(jù)集繪制兩張圖

library("ggsci")
library("ggplot2")
library("gridExtra")
library("patchwork")

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()
p1|p2
  • NPG(將NPG雜志的配色風(fēng)格應(yīng)用到剛剛繪制的兩張圖)
p1_npg <- p1 + scale_color_npg()
p2_npg <- p2 + scale_fill_npg()
grid.arrange(p1_npg, p2_npg, ncol = 2)

顏色提取

show_col(pal_npg("nrc", alpha = 0.6)(10))
##上面palette=c('nrc),所以取顏色時pal_npg()第一個參數(shù)就是‘nrc’螃征。如果是‘Default’就填‘Default’搪桂,其它的函數(shù)都是一樣的取法。
  • AAAS(使用AAAS雜志的配色風(fēng)格)
p1_aaas <- p1 + scale_color_aaas()
p2_aaas <- p2 + scale_fill_aaas()
grid.arrange(p1_aaas, p2_aaas, ncol = 2)
  • NEJM(新英格蘭配色風(fēng)格)
p1_nejm <- p1 + scale_color_nejm()
p2_nejm <- p2 + scale_fill_nejm()
grid.arrange(p1_nejm, p2_nejm, ncol = 2)
  • Lancet
p1_lancet <- p1 + scale_color_lancet()
p2_lancet <- p2 + scale_fill_lancet()
grid.arrange(p1_lancet, p2_lancet, ncol = 2)
  • JAMA
p1_jama <- p1 + scale_color_jama()
p2_jama <- p2 + scale_fill_jama()
grid.arrange(p1_jama, p2_jama, ncol = 2)
  • JCO
p1_jco <- p1 + scale_color_jco()
p2_jco <- p2 + scale_fill_jco()
grid.arrange(p1_jco, p2_jco, ncol = 2)
  • UCSCGB
p1_ucscgb <- p1 + scale_color_ucscgb()
p2_ucscgb <- p2 + scale_fill_ucscgb()
grid.arrange(p1_ucscgb, p2_ucscgb, ncol = 2)
  • D3
p1_d3 <- p1 + scale_color_d3()
p2_d3 <- p2 + scale_fill_d3()
grid.arrange(p1_d3, p2_d3, ncol = 2)
  • LocusZoom
p1_locuszoom <- p1 + scale_color_locuszoom()
p2_locuszoom <- p2 + scale_fill_locuszoom()
grid.arrange(p1_locuszoom, p2_locuszoom, ncol = 2)
  • 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)
  • UChicago
p1_uchicago <- p1 + scale_color_uchicago()
p2_uchicago <- p2 + scale_fill_uchicago()
grid.arrange(p1_uchicago, p2_uchicago, ncol = 2)
  • Star Trek
p1_startrek <- p1 + scale_color_startrek()
p2_startrek <- p2 + scale_fill_startrek()
grid.arrange(p1_startrek, p2_startrek, ncol = 2)
  • Tron Legend
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)
  • Futurama
p1_futurama <- p1 + scale_color_futurama()
p2_futurama <- p2 + scale_fill_futurama()
grid.arrange(p1_futurama, p2_futurama, ncol = 2)
  • Rick and Morty(我非常喜歡的動漫)
p1_rickandmorty <- p1 + scale_color_rickandmorty()
p2_rickandmorty <- p2 + scale_fill_rickandmorty()
grid.arrange(p1_rickandmorty, p2_rickandmorty, ncol = 2)
  • The Simpsons
p1_simpsons <- p1 + scale_color_simpsons()
p2_simpsons <- p2 + scale_fill_simpsons()
grid.arrange(p1_simpsons, p2_simpsons, ncol = 2)
2.2 連續(xù)型調(diào)色板

使用mtcars數(shù)據(jù)集做演示

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()
  )
  • GSEA
    將GSEA的配色風(fēng)格應(yīng)用到剛剛繪制的圖
p3_gsea <- p3 + scale_fill_gsea()
p3_gsea_inv <- p3 + scale_fill_gsea(reverse = TRUE)
grid.arrange(p3_gsea, p3_gsea_inv, ncol = 2)

參考:https://nanx.me/ggsci/articles/ggsci.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載会傲,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者锅棕。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市淌山,隨后出現(xiàn)的幾起案子裸燎,更是在濱河造成了極大的恐慌,老刑警劉巖泼疑,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件德绿,死亡現(xiàn)場離奇詭異,居然都是意外死亡退渗,警方通過查閱死者的電腦和手機(jī)移稳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來会油,“玉大人个粱,你說我怎么就攤上這事》妫” “怎么了都许?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵稻薇,是天一觀的道長。 經(jīng)常有香客問我胶征,道長塞椎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任睛低,我火速辦了婚禮案狠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钱雷。我一直安慰自己骂铁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布急波。 她就那樣靜靜地躺著从铲,像睡著了一般瘪校。 火紅的嫁衣襯著肌膚如雪澄暮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天阱扬,我揣著相機(jī)與錄音泣懊,去河邊找鬼。 笑死麻惶,一個胖子當(dāng)著我的面吹牛馍刮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窃蹋,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼卡啰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了警没?” 一聲冷哼從身側(cè)響起匈辱,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杀迹,沒想到半個月后亡脸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡树酪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年浅碾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片续语。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡垂谢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疮茄,到底是詐尸還是另有隱情滥朱,我是刑警寧澤苛白,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站焚虱,受9級特大地震影響购裙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鹃栽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一躏率、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧民鼓,春花似錦薇芝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至饮亏,卻和暖如春耍贾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背路幸。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工荐开, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人简肴。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓晃听,卻偏偏與公主長得像,于是被迫代替她去往敵國和親砰识。 傳聞我的和親對象是個殘疾皇子能扒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容