vlambda博客
学习文章列表

R语言实现SCI级别颜色搭配

大家投过文章的想必都有为绘图的色彩纠结的不得了的时候,今天就给大家介绍一个别人基于一些科研杂志,可视化库甚至科幻电影进行了一些颜色模板的设计的R包ggsci。安装我们就不多说了:

install.packages("ggsci")install.packages("ggplot2")install.packages("gridExtra")install.packages("gridExtra")

 

我们首先看下此包都预设了哪些相关的模板,具体内容如下表:

R语言实现SCI级别颜色搭配

R语言实现SCI级别颜色搭配


接下来我们就直接利用包自带的实例给大家演示下。首先,我们看下在不做处理的情况下:

library("ggsci")library("ggplot2")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)

R语言实现SCI级别颜色搭配

接下来我们看下包中的模板怎么加进去。以NPG为例,我们直接看实例:

p1_npg = p1 + scale_color_npg()p2_npg = p2 + scale_fill_npg()grid.arrange(p1_npg, p2_npg, ncol = 2)

R语言实现SCI级别颜色搭配

我们再看一个在科幻电影《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)


 

R语言实现SCI级别颜色搭配

最后我们看下此包对于连续性的颜色变化的设置,其实所谓连续性的颜色变化主要应用于热图中可以实现颜色的过度。那么,我们直接看下实例,首先是一个原始的数据设置:

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

R语言实现SCI级别颜色搭配

然后,我们看下GSEA GenePattern的样式情况:

p3_gsea = p3 + scale_fill_gsea()p3_gsea_inv = p3 + scale_fill_gsea(reverse= TRUE)#可以实现颜色的颠倒grid.arrange(p3_gsea, p3_gsea_inv, ncol =2)

R语言实现SCI级别颜色搭配

当然我们也可以使用Material Design模板中19种颜色的过度,我们随便取其一种看下实例:

p3+ scale_fill_material("blue")

R语言实现SCI级别颜色搭配

或许我们看中了他其中的某一个或者几个颜色,那么我们也可以把这个颜色提取出来应用于其它的绘图系统,具体提取过程如下:

 

mypal = pal_npg("nrc", alpha =0.7)(9)##提取颜色library("scales")show_col(mypal)##对应颜色代码

R语言实现SCI级别颜色搭配



欢迎大家互相学习交流!