很多人用ggpubr,其实应了那一句「越低俗越舒服」的话,无非是因为用起来简单,当然还有另一个因素,是很多公众号搬运了ggpubr的文档,而这些写公众号的,多半也是半吊子水平而已,根本没有分辨的能力。

之前有水生所的小伙伴,在朋友圈发了自己的代码调不好的状态,我评论了一下。

引出了一个text_grob的问题,这就是我说的制造混乱,把gpar几个参数放到gpar外面提供给用户。

我不知道你们看出问题在那里没有,这个text_grob相对于被封装的textGrob没有提供任何额外的功能,而这个封装就等于把gpar的参数给写死了,你想调别的参数,没门,除非你用回textGrob。真是一手好包装。

有人说它有好配色

显然是包装的,特别是说什么杂志的配色。

有人说它可以拼图搞legend.

那我们看看它拼图中common.legend = TRUE的话,它是怎么干的。

调用了一个get_legend,我们看看这个函数:

它干的事情,不知道大家看清楚了没有?第一张有legend的图,把它的legend拿出来,做为所有图的common legend。此处黑人疑问脸,你这只能用于每张图的legend都一样的情况吧!

上面这个图显示的才是共有legend的正确方式,点击图片了解一下。

有人说它出图很方便

出图方便只是个错觉,我在《画个小圈圈》里已经说过了,就不再继续讲了,你可以回去重温一下。

这里我只讲个历史,不知道多少人看过《ggplot2》第一版和第二版的书,第一版那可以在介绍ggplot之前,先大篇幅介绍了qplot,但Hadley在写第二版的时候,大家都要求他不要写qplot了,因为影响大家学习ggplot的语法,最终qplot不再出现于第二版的书中。

要说ggpubr出图容易,我只能呵呵哒,根本不及qplot来得快,下面这些代码和图,你们感受一下,只有一个函数qplot画各种图:

以及叠加不同的图层:

它的存在,作用就在于迷惑初学者,让你们一直停留在小白的阶段挣扎!

梁山108基,豹子头林冲是被体制圈养的,所以他会被两个衙役虐到死去活来,而行者武松,是野生的,就是带着枷锁也能把埋伏的高手和衙役全干掉,这就是区别。我想我不该黑ggpubr,让你们都被它圈养吧。