文献复现|单细胞图文复现遇基础绘图高手

又是学习老板扔给我的一堆带有代码的可实现单细胞图文复现资料的一周,本次在学习的过程中再次遇到了基础绘图的高手,下面分享给大家我的快乐,是真的很快乐哈哈哈。

image.png

那么,基础绘图你真的会了么?如果不会请看我们之前的公开课:R语言公益课程之基础绘图(https://mp.weixin.qq.com/s/fqPF-1rc-6ftxrnY09inKQ)

首先,奉上文章信息:

标题:A conserved dendritic-cell regulatory program limits antitumour immunity(一个保守的树突细胞调节程序限制抗肿瘤免疫)
DOI(url): 10.1038/s41586-020-2134-y
日期及杂志:Epub 2020 Mar 25,Nature
作者及单位:Miriam Merad,西奈山伊坎医学院(Icahn School of Medicine at Mount Sinai)
关键词:dendritic-cell,antitumour immunity
代码https://github.com/effiken/Maier_et_al_nature_2020

代码和数据都在GitHub上,可以自行前往下载进行学习。我这里只进行一张图的讲解:

image-20201019233851377.png
首先,作者将此图划分成了3行2列的区域,然后在每个区域里使用基础绘图函数进行填充,你没看错,这幅图里面的文字,方框,甚至坐标都是一个一个单独画进来的。其实,这个很考验基本功,特别是基础绘图函数的坐标,有时候很难搞。代码:
# 使用layout函数,每个区域还设置了高度heighs和宽度widths
layout(matrix(1:6,nrow=3,ncol=2),widths=c(10,4),heights=c(.5,10,.5))
image-20201019234329365.png
然后绘制第一列的第一行区域
  • 使用了par设置oma,mar图的边距
  • image绘制颜色格子,输入数据是一个矩阵,xaxt和yaxt设置不绘制坐标轴
  • box对图片绘图区域添加一个方框
  • abline添加颜色格子中间的两条红色的线
  • mtext添加行注释和列注释
  • axis再在颜色格子上方添加坐标刻度
#column 1
# 使用了par设置oma,mar图的边距
par(oma=c(1,5,1.5,.1))
par(mar=c(0,0,0,0))
​
# image绘制颜色格子,输入数据是一个矩阵,xaxt和yaxt设置不绘制坐标轴
image(as.matrix(as.numeric(cell2annot)),xaxt="n",yaxt="n",col=lin_col)
​
# box对图片绘图区域添加一个方框
box()
​
# abline添加颜色格子中间的两条红色的线
abline(v=breaks,col="red")
​
# mtext添加行注释和列注释
mtext(at=mid_clusts,c("mregDC","DC1","DC2"),cex=.7,line=.25)
mtext("Annotation",font=2,side=2,las=2,line=.25,cex=.6)
​
# axis再在颜色格子上方添加坐标刻度
axis(side=3,at=mid_clusts,labels=F,tck=-.2)

绘制结果:

image-20201019235341970.png
接着,绘制第一列第2行灰色表达矩阵部分,依然使用了image,xart,yaxt,box,abline,metxt这些基础函数。这部分代码中有一个颜色rgb(s,s,s)值得收录一下。
# image绘制表达谱矩阵,使用了rgb设置颜色
image(t(log2(1+as.matrix(mat))),col=rgb(s,s,s),xaxt="n",yaxt="n")
​
# 矩阵外面添加盒子
box()
​
# 添加两条红色的直线
abline(v=breaks,col="red")
​
# 添加行基因名字
mtext(gene_list,side=2,at=seq(0,1,1/(length(gene_list)-1)),las=2,line=.25,font=3,cex=.6)

绘制结果:

image-20201020010942059.png
接着,绘制第一列第3行的样本注释条,方框还是使用的image函数,颜色rgb,直线abline,文字mtext
# 通过全局par函数设置图片边距mar
par(mar=c(0,0,0,0))
​
# 绘制样本注释条颜色矩阵
image(as.matrix(as.numeric(factor(cell2sample,c("Naive","KP")))),col=c(rgb(255,192,203,max=255),rgb(165,75,42,max=255)),xaxt="n",yaxt="n")
​
# 添加直线
abline(v=breaks,col="red")
​
# 添加盒子
box()
​
# 添加样本行注释
mtext("Sample type",font=2,side=2,las=2,line=.25,cex=.6)

绘制结果:

image-20201020011034939.png
接着绘制第二列的内容了:相对前面来说使用了新的plot.new(),大于等于4的表示"\u22654",图例legend中的legend的使用。
#column 2
# 设置绘图边距
par(mar=c(0,0,0,0))
​
# 第一行绘制空白
plot.new()
​
# 第2行图片边距
par(mar=c(5,1.5,5,1.5))
​
# 第二行的矩阵为色度条
image(t(matrix(1:50)),col=rgb(s,s,s),xaxt="n",yaxt="n")
​
# 添加盒子
box()
​
# 添加注释条的文字
mtext(c("0","\u22654"),at=c(0,1),las=2,side=4,cex=.7,line=.25)
mtext("Log2\n1+#UMI per 2000",side=3,line=.5,cex=.4)
​
# 第三行内容,为样本legend
par(mar=c(0,0,0,0))
plot.new()
legend(x = 0,y=2,legend = c("Naive","KP"),fill = c(rgb(255,192,203,max=255),rgb(165,75,42,max=255)),bty="n",cex=.8,xpd=NA)

绘制结果:

image-20201020011650969.png

以上全部合在一起就是一张完整的好看的图片了,可见作者是多么喜欢使用基础函数进行图片绘制了。高手,于平凡与普通中见深刻!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352