首发于R语言绘图
R绘图:一文了解ggplot2颜色的设置

R绘图:一文了解ggplot2颜色的设置

R绘图往期回顾:

ggplot2绘图学习 两个连续性变量

ggplot2绘图学习:单变量+绘图背景

R绘图:ggeconodist,基于ggplot2的另类箱图

R语言学习系列之“多变的热图”

蚂蚁金服在线可视化引擎 G2

R绘图:无与伦比的华丽风行(桑基图)

R绘图:相关性分析与作图(单基因相关性)

R绘图:相关性分析与作图R绘图

ggsci: 高大上的论文配色,一文解决配色问题

R绘图 ggpubr: 为学术而生

TCGA数据分析系列之火山图

R绘图 雷达图-单基因泛癌差异表达的另类展现形式


在我们平常的绘图中,颜色不仅影响图形得美感,也可以作为一个变量,从而使图形反应更多维度得信息。


我们可以用颜色来表示分组,比如,不同组的散点用不同颜色,多条曲线用不同颜色;可以用颜色表示数值,用颜色深浅表示绝对值大小;可以用颜色来突出某些要强调的图形元素


将变量值映射为颜色,可以分为如下四种情况 1 无序的分类变量;2 有序的分类变量,仅有大小次序,没有正反;3 有序的分类变量,有正有反;4 连续数值变量。


在R语言中,我们可以使用RColorBrewer::display.brewer.all()来查看调色板,在ggplot2 中用 scale_color_brewer(palette) 和 scale_fill_brewer(palette)选择 RColorBrewer 中的调色盘。

RColorBrewer::display.brewer.all()





离散型变量

manual 直接指定分组使用的颜色

hue 通过改变色相(hue)饱和度(chroma)亮度(luminosity)来调整颜色

brewer 使用ColorBrewer的颜色

grey 使用不同程度的灰色


color 和 fill 可更改的颜色参数,一般柱状图,fill是柱子的填充颜色,这时就使用scale_fill系列函数来更改颜色。点图使用color分组,则使用scale_color_系列函数来更改颜色。

library(ggplot2)
b <- ggplot(mpg, aes(fl))+ geom_bar(aes(fill = fl))
b 




scale_fill_brewer函数调用调色板中的配色方案

b + scale_fill_brewer(palette = "Set1")



也可以使用scale_fill_manual函数自定义颜色

b + scale_fill_manual(values=c(c = "red", d = "blue", e = "green" , p = "orange", r = "yellow"))




单一颜色

b+ scale_fill_brewer(palette = "Blues")




也可以用scale_fill_grey()函数使用灰度,通过start end 两个参数指定,0为黑,1为白,都在0-1范围内

b + scale_fill_grey()



b + scale_fill_grey(start=1, end=0)





连续型变量

gradient 创建渐变色

distiller 使用ColorBrewer的颜色

identity 使用color变量对应的颜色,对离散型和连续型都有效


scale_color_gradient 双色渐变(低-高)

scale_color_gradient2 发散颜色渐变(低-中-高)

scale_color_gradientn 创建n色渐变


双色渐变

aaa=mpg
aaa$cty<- aaa$cty-20
f <- ggplot(aaa, aes(cty, hwy))+ geom_point(aes(color=cty))
f + scale_colour_gradient(low = "green", high = "red")




低-中-高三色渐变

f + scale_color_gradient2(low = "green", mid = "black", high =  "red")





n色渐变

f + scale_color_gradientn(colours =rainbow(10))




scale_color_distiller函数可以将ColorBrewer的颜色运用在连续变量上

f + scale_color_distiller(palette = "Set1")


“生信小课堂”公众号设置生信福利专贴,旨在共享R语言及生信学习资料。公众号后台回复“生信学习”即可获取。内容持续更新,目前有:

1. 火山图 热图示例文件及代码
2. R语言学习基础知识代码
3. R语言学习书籍

R语言实战(中文完整版)

R数据科学(中文完整版)

ggplot2:数据分析与图形艺术

30分钟学会ggplot2

4. TCGA数据整理

前期从xenabrowser.net/datapag (UCSC Xena)数据库下载的TCGA数据,传到了百度云上备份。

5. ggplot2速查表pdf(可复制)


公众号“生信小课堂”

TCGA数据分析课程:

编辑于 2021-04-01 10:18