最近公众号「生信媛」和「生信宝典」的小伙伴在说ggplot2无法一次性设置所有字体,theme只能设置axis text, title这些,而搞不了geom_textgeom_text必须要手工输入family=XXX来设置,因为不能使用theme来更换,也就是说没办法通过后处理来设定,比较麻烦。

这显然是不对的,后处理必须可以的,一次性满足所有愿望也只是因为没人写个神奇的函数而已。于是我就动手写了个set_font的函数。

假设我们有下图:

library(ggplot2)
d <- data.frame(x=rnorm(10), y=rnorm(10), lab=LETTERS[1:10])
p <- ggplot(d, aes(x, y)) + 
    geom_text(aes(label=lab, color=lab), size=10) + 
	geom_text(aes(y, x, label=lab), size=3)

Continue reading

5s无缘无故突然就自带3D效果,可是苹果没送我3D眼镜啊!做为一个果粉,自从乔帮主离去之后,对苹果是越来越无爱了。

anyway,对于这部陪伴许久的手机,还是要纪念一下的。

按地理位置分面》一文最后我埋了个伏笔,写到最后的时候,我想到的是可以拿来画个元素周期表,但懒得搞,在《ggplot2分面之像素艺术》一文里用一只火鸡展示了用图来拼像素画的思路,回应了前文的伏笔。今天继续展示一个像素画,为了纪念我的iphone5S,当然我要画个苹果🍎出来。

这里的图,用的是emoji来画,如果你还不会用emoji来画图装逼,赶紧戳《看完此文, 你也能够大开脑洞, 上升逼格》。然后用geofacet来拼出像素画,这个时候,你应该想到可以拿来拼你的照片,画个某个形状的照片墙了。

Continue reading

陈同的‘生信宝典’公众号出了篇《R语言学习 - 富集分析泡泡图》,搞个shell脚本,一步绘图。讲了这个脚本可以适用于clusterProfiler和其它软件的富集结果。

浑身都是硬伤,我都不想吐槽,但由于作者邀请我提点,那就吐槽模式全开。

一个command出图,小白已经哭晕

从出的图看,应该是ggplot2画的(就算猜错,要吐槽的依然正确),小白在web-server上做了分析,存结果为xls文件,拿你这脚本,一跑报错。读xls文件(别告诉我你跟用户说读xls但其实是个tsv)和画图的依赖关系没解决!用户友好在那里?不要告诉我你的脚本0依赖,有个shell就能跑,即使我们熟悉的各种命令,很多都是独立程序,不关shell什么事。

所谓的一步出图

既然讲了clusterProfiler,那么clusterProfiler用户笑而不语了。我们用dotplot不也是一条命令出图,为什么要退出R,去跑你的shell脚本,这过程还得转换数据,存储数据。最后的这一步,是前面+N步为代价的。

Continue reading

Author's picture

Guangchuang Yu

Bioinformatics Professor @ SMU

Bioinformatics Professor

Guangzhou