给你一顶帽子

圣诞节期间,一个个在@微信官方,要加圣诞帽,这让人想起了以前:

今天是马化腾的生日,转发5个群,自动开通一个月的QQ会员

这班玩QQ长大的孩子,现在变成了玩微信的油腻中年了。

做为biobabble公众号的粉丝,我觉得你们是有能力用两三行R代码来给自己加个帽子的。由于我在过圣诞节,所以这篇文章没有能够及时推送出来,就当马后炮吧,不合时宜地调侃一下大家。

Continue reading

meme无非是照片上加两行字,meme这个包本来是练手之作,用来模拟ggplot2的api。结果我后面又实现了字体阴影效果,这次我又带来了外部字体支持。

加载外部字体在R上面主要有extrafont和showtext两个实现,特别是showtext用起来还是非常简单的。我在meme包里写了font_import函数,内部就是用showtext,只是简单的包装了一下,这样小白用户可以直接下个字体就开撸。有阴影效果,有搞笑字体,就万事具备了,这俨然是个专业的meme工具了。

Continue reading

取子集对于进化树可视化来说是非常常见的,我们要区分内部节点和外部节点,我们也可能想针对某些特点的节点进行注释。

ggplot2现在所有图层都不支持直接取子集,所以呢ggtree就自己定义了一些修改的图层,包括geom_text2, geom_label2, geom_point2geom_segment2,这些图层和ggplot2的版本唯一差别就是支持取子集。这样对于我们做注释来说,就更方便了。

比如说我想给内部节点打点,可以用:

ggtree(tree) + geom_text2(aes(label=label, subset=!isTip), hjust=-.2) +
        geom_point2(aes(subset=!isTip), color="red", size=3)

Continue reading

正如我在「知识星球」里说的,scholar这个包现在已经死了,因为作者不维护了,除非出现接盘侠。我自己fork了一个,打了补丁,现在是可用的。这个包应该说我用得蛮多的,你看我简历里的引用数柱状图,我不会无聊到过一段时间就去查,然后重新画图的,太low。都是自动化的,我到简历目录下打make指令,就会自动去爬数据、重新画图并生成简历,而我啥都不用干。

Continue reading

在很久很久以前,当我还在用perl的时候,有一个TGen-EUtils的perl模块,可以去爬PubMed,我喜欢用它来画所谓的pubmed趋势,比如说我在2012年的时候,就画了各个组学技术的pubmed趋势,通过每一年的文章发表量来看某个技术到底火不火,走势怎么样。

当年microarray还特别猛,但显然可以看到二代测序必须要火,也可以看到proteomics在吹了几年牛B之后,有回落的趋势。

Continue reading

据说1024是程序员的节日,就在这一天,Y叔开始了第一次的网络讲座,首次在网络上露面。内容就是上一周预告的《线上沙龙》。

很多人想要学ggplot2 + ggtree,但我的定位不是技术性的培训,而是学术讲座,所以一开始把问题摆出来,是有一些问题存在,有knowledge gap,然后我要去解决它。当然考虑到听众的knowledge gap也很大,我在介绍ggtree的之前,也帮大众撸了一篇R的画图,在这简短的时间里,你应该了解了R几个画图系统的关系,base和grid我在slides里写graphic system,但lattice和ggplot2我写的是data visualization system,我对它们是有区别对待的,像lattice和ggplot2自己是不成一体的,但提供了高阶的数据可视化方法/语法。听完讲座你也应该了解ggplot2,知道要怎样去入门,知道重点该学什么。

Continue reading

下面这张吐槽LaTeX的图,太深得我心。

而ggplot2这种文本跑出界的事情,也太常见,以至于我在ggtree的FAQ专门指出来,要用xlim给x轴分配多点空间,这是由于数据是数据空间,而文本是像素空间。你画图的画布由数据空间决定,然后文本就从指定的位置(除了坐标,还取决于你align的方式和adjustment微调)开始打出来,一不小心就打出界了。这一点我在FAQ里,除了告诉你用xlim解决之外,我也给出了上面的解释,所以我一直强调,不要以为我在教ggtree,我其实是在教ggplot2。

后面就有人问了ggplot2字体溢出的事情,他所遇到的溢出,似乎更不应该发生,因为是坐标轴上的字体溢出,然而产生的原因是一样的,解决方案也是一样的,请用力猛戳《ggplot2字体溢出的那点破事》。

Continue reading

Author's picture

Guangchuang Yu

a senior-in-age-but-not-senior-in-knowledge bioinformatician

Postdoc researcher

Hong Kong