色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)

viridis [ˈvɪrɪˌdɪs] n.翠绿色;

该包提供了一系列 色盲友好的颜色。
Robust to colorblindness, so that the above properties hold true for people with common forms of colorblindness, as well as in grey scale printing, and
Pretty, oh so pretty

install.packages("viridis")

1.生成颜色实例: 参数类似

library(viridis)

#c1=viridis(n=10, alpha = 1, begin = 0, end = 1, direction = 1); c1
c1=viridis(10, alpha = 1, begin = 0, end = 1, direction = 1, option = "A"); c1
# n 色彩个数
# alpha 不透明度,1表示完全不透明,0表示完全透明。
# begin 和 end 表示 hue 开始和结束的位置[0,1]
# direction 颜色方向,1从深到浅,-1反之。
# option 表示8种颜色方案,可以换前面的函数名,也可以换 option 种的字母A-H

barplot( rep(1, length(c1)), col=c1, 
         border=NA, yaxt='n', space=0, main="")

色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)_第1张图片

2.官方教程

library(ggplot2)
ggplot(data.frame(x = rnorm(10000), y = rnorm(10000)), aes(x = x, y = y)) +
  geom_hex() + coord_fixed() +
  scale_fill_viridis() + theme_bw()

色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)_第2张图片

3.查看8种颜色方案

draw=function(colorname, title="", n=100){
  if(title==""){
    title=paste0(colorname, ", n=", n)
  }
  #print(title)
  cols=do.call(colorname, list(n, alpha = 1, begin = 0, end = 1, direction = -1) )
  barplot( rep(1, length(cols)), col=cols, 
           border=NA, yaxt='n', space=0, main=title)
}
par(mfrow=c(8,2), mar=c(0,0,1.5,0) )
for(i in c("viridis", "magma", "inferno", "plasma", 
           "cividis", "rocket", "mako", "turbo")){
  print(i)
  draw(i, n=10)
  draw(i, n=100)
}

色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)_第3张图片

4.热图

前7种渐变色都特别适合热图。

set.seed(2022)
test =  matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
colnames(test) = paste("Test", 1:10, sep = "")
rownames(test) = paste("Gene", 1:20, sep = "")
#
dim(test)

# Draw heatmaps
library(pheatmap)
pheatmap(test)

色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)_第4张图片

# viridis
pheatmap(test, color = viridis(8), main="viridis")

色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)_第5张图片

# mako
pheatmap(test, color = viridis(8, option = "G"), main="mako")

色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)_第6张图片

ref

https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html

== End ==

你可能感兴趣的:(R,可视化,r语言,大数据,python)