为什么我做这个PPT
主要因素是因为我受不了公司每次生信培训的绘图课程里,一直一来讲的都是base包绘图。什么,你不知道base包。就是安装R自带的函数族.
另外, 生信培训的课件是公司的科研总监在很久以前制作的,距今至少有个四五年历史了。一直都没人来更新一下,实在有点说不过去。很多优秀R包都已经更新了不知道多少。反观我们的课件,里面的R不知道是什么年代老旧R包。虽然我个人不可能都进行更改。但是看到的小细节,还是要改一点。另外希望下次可以修改一下聚类树的课件。里面的R包太旧了。ggtree就是非常优秀的R包,相信了解这个R包会会对客户有很大的帮助。
这次生信培训去的是中国海洋大学,负责的部分是R语言入门和绘图。讲心里话,我实在不想讲base包绘图,我即不懂,也没兴趣懂,但是无奈,要服从安排。还是耐着性子学习了。在讲课的时候大言不惭的说:“学习base
包,是为了让大家更好的入门,为以后学习ggplot2
等更高级的R包打基础”。
我承认这话说的是骗人的,base
包和ggplot2
完全是两码事!!!
但是我还是在去青岛之前,很努力的准备ggplot2的课件,从头整理,公司没有任何的资料,全靠我研究生时候看的hadley的《ggplot2:图形艺术和绘画》
和网上的资料。一点一滴整理,但是最后也没能赶上在青岛讲座的时候用上,还是讲了base
包。但是至少我觉得我pheatmap
画热图讲的还不错。
所以后面,都是自己在空闲的晚上以及一次意外——后面没赶上飞机,导致花了600改签(赔惨了),哭死了。本来是4点的,改签到了八点,所以自己顿在机场候机厅的地板上(为了地上插座)写ppt。最终自己是写完了这个《ggplot2入门图形语法》
图形语法多么重要
我相信,但凡能知道R的人,都会知道有一个R包叫ggplo2。或者是接触了ggplot2,才慢慢了解R语言。甚至有人说R在绘图上只有两个包,一个是ggplot2包,另一个叫其他包。
ggplot2的地位和重要性,也根本不需要多说,大家都是了解的。但实际上,除了ggplot2,还有很多很优秀的R包,只是由于ggplot2使用高层次、具象化的图形语法来实现绘图的命令的大一统。总结起来,我个人觉得相比R自带的base绘图和基于griid的其他绘图包。ggplot2具有以下优点:
统一的函数命令格式,而非base
包中混乱的函数名称格式。
用+号来实现图层的叠加,图层叠加并非ggplot2所特有,base
等绘图包也是可以做到。只是用过的人就知道,在base包中图层叠加中,高级绘图函数和低级绘图函数之间的联系在命令上显的混乱。
用绘图语法来实现绘图思想和命令的高度统一。
那么其中最直接的、最重要的特点就是ggplot2是一套完整的图形语法来构建和绘制图形。我们都知道学一门语言,单凡要有所深入,就一定要学习语言的语法。当然如果只想说:“Thank you, and bye"这样的话,不懂语法也没什么关系。
但是只要!只要我们想在粘贴复制的境界上,稍微想往前进一步,想按照自己的想象来绘图,想DIY的,哪怕一丁点的DIY的。那么图形语法是不可避免的。
既然如此,为什么不想学习英语一样,在接触的英语的时候,就开始学习和了解一点图形语法呢。
ggplot2图形语法入门
题外话:本来准备用Y叔的yyplot中slides2png函数批量将ppt变成png,然后上传微信公众号。却发现报错,反复安装和依赖包都不行,网上也没有资料。看来这个包果然是Y叔自己用的,里面的函数还是有一些问题的。另外也确实没什么人用。出错了也搜不到任何消息。最后安装islide,神器啊。
这次的ppt我是放在网上了, 而不是像微信公众号一样, 是图片展现.