漂亮|R绘图笔记|小提琴图与漂亮的云雨图绘制

这里介绍小提琴图会漂亮的云雨图绘制,小提琴图在生信文章中很常见,云雨图我在文章中很少见到,但真的很漂亮,发表文章可以试试。
一.读入数据
如果你想获取该数据用于自己练习,下面是获取数据的地址:
https://docs.qq.com/sheet/DV0dxREV1YkJ0ZmVj
数据格式是这样的。
数据第A列是病人ID,B~E列是临床信息,其他列是病人的RNAseq数据。
你可以保存副本导出,然后自己读入。
假如我们需要绘制某基因在不同分期的表达情况。
先检查数据是否有缺失值,分期信息不知用N来表示,可以删除这些数据。
漂亮|R绘图笔记|小提琴图与漂亮的云雨图绘制
文章插图
二.绘图
1.小提琴图
ggplot绘图系统中,小提琴图用geom_violin函数。
trim:如果为真(默认),将小提琴的尾部修剪到数据的范围内。如果是假的,就不要修剪尾巴。
scale :如果“area”(默认),所有的小提琴有相同的区域(在修剪尾巴之前)。如果为“count”,面积按观察次数成比例缩放。如果是“宽度”,那么所有的小提琴都有相同的最大宽度。
漂亮|R绘图笔记|小提琴图与漂亮的云雨图绘制
文章插图
修改trim=TRUE,scale="count",看一下效果就知道什么意思啦。
漂亮|R绘图笔记|小提琴图与漂亮的云雨图绘制
文章插图
2.云雨图
云雨图在我看来很美观,我们样本数据大的时候,绘制云雨图是真的很美观。
但这个图绘制比前面的图形稍微复杂一点。需要自定义一个函数,用来绘制半小提琴图,从geom-violin函数修改。下面是geom-violin函数的源码地址:
https://github.com/hadley/ggplot2/blob/master/R/geom-violin.r
下面是修改后的代码【参考资料1】:
geom_flat_violin函数是自定义的半小提琴图函数,用上面的f2.data数据绘图。下面代码中d变量是统计数据。
漂亮|R绘图笔记|小提琴图与漂亮的云雨图绘制
文章插图
这个图就像云下面有雨滴一样,顾名思义叫云雨图。如果想纵向展示,去掉coord_flip()函数就可以啦。coord_flip()翻转笛卡尔坐标使水平变为垂直。
漂亮|R绘图笔记|小提琴图与漂亮的云雨图绘制
文章插图
参考资料:
R语言数据可视化之美,张杰/著
geom-violin函数帮助文档
漂亮|R绘图笔记|小提琴图与漂亮的云雨图绘制】https://github.com/hadley/ggplot2/blob/master/R/geom-violin.r