美文网首页NGSR语言可视化基因组数据绘图
给R中的图上一个你喜欢的颜色吧

给R中的图上一个你喜欢的颜色吧

作者: 黄晶_id | 来源:发表于2019-04-26 20:54 被阅读29次

    今天学习如何获得颜色编号

    回到昨天的问题:又不是女生买口红,哪个号对应着哪个颜色都知道。R里我是怎么知道蓝色对应的色号是"#1B2CC1";灰色对应的色号是"#BCBABE"的?
    答:其实是有一个网站的,该网站里提供了很多配色方案,也记录了什么颜色对应着什么颜色编号。

    获取颜色编号

    那跟我一起去网页看看吧:https://coolors.co/browser/latest/1
    点开网页你可以看到这样一个页面:


    鼠标放在任意颜色条上会出现几个选线,选一个你喜欢的颜色条点view后:
    颜色编号
    这样我们就获得了颜色编号,是不是很方便~
    为了证实在R里这些编号确实对应着这些颜色,我们随便画个图上个颜色试试,顺便复习下之前的代码~

    创建一个data.frame,用于后续画图操作。

    gene_id = c(1:100)
    gene_fpkm = abs(rnorm(100,10,5))  # fpkm基因表达量
    sample_id = round(runif(100,1,10)) # 从1-10中随机取100个呈均匀分布的数,再用函数round()把这些数变成整数。
    #用创建好的函数做一个数据框
    gene_table = data.frame(gene_id,
                            gene_fpkm,
                            sample_id)
    
    

    此时我们就创建好了,数据框,如图

    数据框gene_table
    我们画一个直方图看下基因表达量gene_fpkm的分布情况(distribution):
    hist(gene_table$gene_fpkm)  #提取数据框中基因表达量那一列
    
    基因表达量的分布
    给它加上点颜色吧~在上面hist()函数里加上col参数即可,为了验证网站上的色号是对的,我们就加上面截图上的颜色编号吧,最左边的浅绿色编号是"#DDFFF7"
    hist(gene_table$gene_fpkm,col = "#DDFFF7")  #柱体加上颜色编号 "#DDFFF7"
    
    加色后

    发现 "#DDFFF7"色号确实对应着浅绿色。大家试试其他色号的效果吧~
    如果不放心,我们再验证一下:
    在图上加一条基因表达量平均值的线

    mean(gene_table$gene_fpkm) #求基因fpkm的平均数
    abline(v = mean(gene_table$gene_fpkm)) #把平均值这条线竖直的加到图上
    
    加上平均值的线

    这条线好丑,我们对它进行处理:加上颜色、加粗、变虚线
    颜色还是从上面截图上选,最右边的红色吧"#A30B37"

    hist(gene_table$gene_fpkm,col = "#DDFFF7",border = F)  #柱体加上颜色去掉边框
    abline(v = mean(gene_table$gene_fpkm),col="#A30B37",lwd=3,lty=3)  #平均值线加上颜色,加粗(lwd),变成虚线(lty)
    

    参数解释:

    • border = F 去掉柱体上的边框
    • lwd 加粗
    • lty 变成虚线

      果然,加上了一条红色的平均值虚线~

    理解颜色参数col=rgb(0,0,1,0.1)

    有的时候,在看别人的代码时会发现颜色参数不是我们上面介绍的那样,而是这样式儿的:col=rgb(0,0,1,0.1)
    我们解释一下:
    *col=rgb(0,0,1,0.7)里,r是红色;g是绿色;b是蓝色。所以(0,0,1,0.7)代表,没有红色、没有绿色、全是蓝色,透明度是0.7
    同理想要红色的这样写:col=rgb(1,0,0,1) 透明度选了1,也就是不透明。
    那我们把上面的平均值线的颜色,改成蓝色即:col=rgb(0,0,1,1)

    abline(v = mean(gene_table$gene_fpkm),col=rgb(0,0,1,1),lwd=3,lty=3)
    
    col=rgb(0,0,1,1)

    确实是变成蓝色啦~~~


    课程分享
    生信技能树全球公益巡讲
    https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
    B站公益74小时生信工程师教学视频合辑
    https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
    招学徒:
    https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

    相关文章

      网友评论

        本文标题:给R中的图上一个你喜欢的颜色吧

        本文链接:https://www.haomeiwen.com/subject/zxzqnqtx.html