有小伙伴在说可以用par(mar)来设置画图的margin,但不能应用于ggplot2,这个可能很多新手都会很困扰,可能需要一段时间的探索之后,才能发现原来是用theme来设定。

这当然你可以归结于说ggplot2和base plot是不同的东西,但从实质画图参数这一点而言,并没有什么同与不同,无非是设置的方式不同而已,而这种方式都是人定义的,我们完全可以人为定义它们兼容。

Continue reading

一千个伤心的理由

眼看着2月14号就要到来了,又是一年一度的画红心装13的时候,这种事情已经被我BS了,请猛击:《画❤️装geek什么的,都弱爆了!😜》。红心已经没什么好画的了,特别是在我画了生日蛋糕,并用蛋糕画红心之后,《130岁了,祝你生快》,是驴子是马,都没法晒肌肉了。当然红心还是会有所谓的理工宅男晒,除此之外还会有各种花招,来给单身狗撒狗粮。想要加入撒狗粮大军的,快点看《如何告别单身》。

Continue reading

ggplot2的一个坑

今天以ggplot2的一个坑来说一下,坑无处不在,防不胜防,你大可以试一下下面的代码:

> set.seed(123)
> require(ggplot2)
Loading required package: ggplot2
> rnorm(3)
[1]  0.8005543  1.1902066 -1.6895557
> set.seed(123)
> rnorm(3)
[1] -0.5604756 -0.2301775  1.5587083

在两次set.seed和rnorm之间,第一次因为加载了ggplot2,结果就不一样了!这必须是第二次是正确答案,也就是说加载ggplot2把你的seed给吃了!加载包会改变R环境?这绝对不是好主意,我们来试试加载别的包试试,比如我的clusterProfiler:

Continue reading

画一只恐龙

大家是否还记得我的《webinar录播 (2017-10-24):plotting tree + data》,这可以说是R画图最好的课程,PPT也分享给大家《ggtree直播PPT第一部分》和《ggtree直播PPT第二部分》。

我在PPT中,用了meme,发现没有R包可以做,于是我写了一个R包来做这个事情。

后来又写一个R包来实现字体的阴影效果:

Continue reading

画个小圈圈

之前我发表读书笔记《主成分分析

这可能是你见过最好看的PCA图了,有人在「宏基因组」群里问有没有什么包可以画?像这种提问,我以前是吐槽过的,请猛击《如何画类似MEME的注释序列》,当然说什么都没用,大家就是喜欢凡事问有包吗?因为包治百病嘛,不信你送个包给你女票试试!

jimmy回答说ggbiplot可以画差不多的,于是「宏基因组」公众号立刻就出来一篇《ggbiplot-最好看的PCA作图:样品PCA散点+分组椭圆+变量贡献与相关》,后面又有人提问,能不能加两个置信区间?@Chenhao童鞋就给出了解决方案,并且写了篇博客文介绍.

他的作图是基于ggord包,只能应用于LDA,于是「宏基因组」公众号又跟进发一篇《比PCA更好用的监督排序—LDA分析、作图及添加置信-ggord》,你会发现他们介绍同一类型的作图,一会这个包,一会那个包,一会某包有A功能,某包又有B功能,我就不说什么了。

Continue reading

给你一顶帽子

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

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

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

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

Continue reading

Author's picture

Guangchuang Yu

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

Postdoc researcher

Hong Kong