作圖的配色


圖表的色彩搭配直接決定圖表給讀者的感受和印象,漂亮的圖表自然會給文章增色不少。因此,學會自定義圖表的配色非常重要。

3種色彩搭配(獲取一組配色顏色值)的方法。

配色的本質就是得到一組搭配十分“和諧”的顏色。R中的常見顏色的表示方式有16進制顏色碼,英文代碼,RGB顏色值三種方式。常見的R色彩搭配包如RColorBrewer、ggsci、ggtech等提供現成的色彩搭配方案,可以直接拿來用。下面以RColorBrewer為例:

library(RColorBrewer)

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

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

這里僅輸出了兩種類型的配色,如下圖

 

 colors1<-brewer.pal(9,"RdPu")

colors1

"#FFF7F3" "#FDE0DD" "#FCC5C0" "#FA9FB5""#F768A1" "#DD3497" "#AE017E" "#7A0177""#49006A"

colors1<-brewer.pal(9,"Dark2")

"#1B9E77" "#D95F02" "#7570B3" "#E7298A" "#66A61E" "#E6AB02" "#A6761D"
 "#666666"

另一個配色神器:colortools

https://rpubs.com/gaston/colortools

使用方法:

安裝 install.packages("colortools")

  library(colortools)

#色輪的生成
wheel("darkblue", num = 12)
barplot(1:12,names.arg=my1,col=my1,las=2)

#單色搭配(Monochromatic )色系的生成
sequential("red")
#
類比色搭配(Analogous )與補色/對比色搭配(Complement )色輪可以方便地生成相鄰、對比等色系

analogous("darkblue")
#Complementary color scheme
complementary("steelblue")

# define some colors some_colors = setColors("#3D6DCC", 15) # pizza plot pizza(some_colors) # analagous scheme for color "#3D6DCC" analogous("#3D6DCC") # complementary scheme for color "#3D6DCC" complementary("#3D6DCC") # split complementary scheme for color "#3D6DCC" splitComp("#3D6DCC") # triadic scheme for color "#3D6DCC" triadic("#3D6DCC") # tetradic scheme for color "#3D6DCC" tetradic("#3D6DCC") # square scheme for color "#3D6DCC" square("#3D6DCC") # sequential colors for "#3D6DCC" sequential("#3D6DCC")

 pals()

pals("cheer")

# color names of palette 'cheer'pizza(pals("cheer")

pizza(terrain.colors(12), bg="white")

p<-setColors(3, num=18)

hist(rnorm(100),breaks=10,col=p)

barplot(1:5,col=pals("cheer"))

#箱圖的繪制

boxplot(len~dose*supp,data=ToothGrowth,col=pals("cheer"),xlab="group",ylab="len")

繪制聚類圖

install.packages("pheatmap")

install.packages("cluster")

install.packages("ape")

library(pheatmap)

library(cluster)

library(ape)

my2<-setColors("blue",num=12) 

my3<-pals("drift")

pheatmap(scale(mtcars),col=my2)

#配色可以讓我們生成熱圖中的數據更加清晰、直觀

pheatmap(scale(mtcars),col=sequential("blue",10))

pheatmap(scale(mtcars),col=my3,cutree_rows = 3)

plot(as.phylo(hclust(dist(scale(mtcars)))),tip.col=my1)

set.seed(100)

m.c<-kmeans(scale(mtcars),centers=3)

pairs(mtcars[,1:5],pch=21,bg=pals("mystery")[m.c$cluster])

#散點圖與k-mean聚類聯合分析中,不同互補色系可以更加和諧的表征不同組別的點的分布

綜上,通過改顏色工具包,可以便捷的得到我們想要的配色乃至獨特的色系。

此外,還可以用windows的取色器,mspaint

在線取色網站

http://tool.oschina.net/commons?type=3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM