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

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

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


Continue reading

大量的生信公众号在各种linux入门、perl入门、python入门、R入门、软件安装、跑跑示例代码、流程。我自己平时根本不会去看这些生信号,在《s01 - Counting DNA Nucleotides》一文发出去后,就被爪哥说不能跟着走低端路线,囧rz…

还好我多半写的是自己的东西,目前还没有掉进「低端」的坑里,今天继续画图,唯有赏心悦目的图能抚慰人心。

我写了一个包叫《ggimage:ggplot2中愉快地使用图片》,从此图上嵌图(ggplot对象)或图片变得轻而易举。某一天写着玩,写了个《geom_pokemon: 使用pokemon画图》的图层,引起了人民群众的尖叫,国外有妹纸用来可视化NBA数据《大开眼界+多图慎点:Pokémon x NBA and other fun with ggimage》,国内有汉子用来可视化复旦大学考研的报考专业《你的专业是那一只Pokémon神兽?》。


Continue reading

小伙伴发来这个文章中的图,想要实现类似的图,用变量给axis text上色,并生成legend:

这个可以说ggplot2是不支持的,aes映射不会被应用于axis上,而theme也不支持aes映射,你只能自己手动搞个color vector传给theme来上色,但这无法生成legend。

我只能打开脑洞,legend借助于额外的图层来生成,但这个额外的图层又不是我们想要在图形上展示的,这又是个无米之炊,我能想到的就是让图层透明,实际有,但你看不到,当然这样自动生成的legend也会看不到,但legend可以后面再修改,于是这不支持的事情,就通过变通变得可能:

require(ggplot2)

set.seed(2017-07-04)
d <- data.frame(x = letters[1:5], y = rnorm(5), 
        group = sample(c("Control", "Treatment"), 5, replace=TRUE),
        type = sample(LETTERS[1:2], 5, replace=TRUE)
)

p <- ggplot(d, aes(x,y)) + 
    geom_col(aes(fill=group))

这个代码很好懂,画一个柱状图,按group上色。


Continue reading

Dear Dr. Guangchuang Yu, I write to you regarding a doubt concerning the enrichGO function from Clustalprofiler package. I have been used this package before, but now I’m using the same R script and I have an error message.

This is the command I use:

go.bp <- enrichGO(gene = gene.df$ENSEMBL, universe = universe.ENSEMBLID, keytype = ‘ENSEMBL’, OrgDb = org.Ce.eg.db, ont = ‘BP’, pAdjustMethod = ‘BH’, pvalueCutoff = 0.01, qvalueCutoff = 0.05, readable=T)

and the error is the following one:

No gene set have size > 10 … –> return NULL…

My input list is attached to this email (101 genes in total). When I use this list in a web resource such as GOrilla it gives to me the proper GO terms.

Thank you very much in advance. Best regards,

María

最近clusterProfiler用户的问题,这个问题还蛮普遍。这个我在《why clusterProfiler fails》中也有谈到,并不是能出结果就是好的。没有结果也是一种结果。


Continue reading

群众纷纷表示图二是Excel画的,我觉得也是!Excel是生物学家的最爱啊。虽然做生信的人都看不上,最主要是没有记录,不具备可重复性。但现实就是大家都爱Excel。


Continue reading

Author's picture

Guangchuang Yu

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

Postdoc researcher

Hong Kong