有小伙伴在说可以用par(mar)来设置画图的margin,但不能应用于ggplot2,这个可能很多新手都会很困扰,可能需要一段时间的探索之后,才能发现原来是用theme来设定。
这当然你可以归结于说ggplot2和base plot是不同的东西,但从实质画图参数这一点而言,并没有什么同与不同,无非是设置的方式不同而已,而这种方式都是人定义的,我们完全可以人为定义它们兼容。
有小伙伴在说可以用par(mar)来设置画图的margin,但不能应用于ggplot2,这个可能很多新手都会很困扰,可能需要一段时间的探索之后,才能发现原来是用theme来设定。
这当然你可以归结于说ggplot2和base plot是不同的东西,但从实质画图参数这一点而言,并没有什么同与不同,无非是设置的方式不同而已,而这种方式都是人定义的,我们完全可以人为定义它们兼容。
Hello all,
When I plot some data using ggtree, the out groups are on a very long branch length. The out groups are 75 and 76 in the example below.
I would like to keep the out groups in the tree but ignore their branch lengths to make presentation easier.
话说有一只蛙,它旅游去了广东,游戏结束。
这篇文章,只想跟大家讲一讲ggtree,你值得拥有的强大的进化树可视化软件,高颜值的图,就在于指尖几行代码中。
最近养蛙很流行,就以蛙为例,读树用read.tree
,然后一个ggtree
的指令,树就画出来了。而你见证神奇的时刻就在于你不断+geom_xxx
加图层,这里我用了geom_tiplab
来加taxa label,而这个可不仅仅是名字哦,用emoji也可以,这里我用的竟然是图片,你没看错,也可以。只要指定geom="image"
就OK,那个本来要打的文本,就会被当成是文件名,然后读图片画图片,一切尽在我的ggimage包。
之前我发表读书笔记《主成分分析》
这可能是你见过最好看的PCA图了,有人在「宏基因组」群里问有没有什么包可以画?像这种提问,我以前是吐槽过的,请猛击《如何画类似MEME的注释序列》,当然说什么都没用,大家就是喜欢凡事问有包吗?因为包治百病嘛,不信你送个包给你女票试试!
jimmy回答说ggbiplot可以画差不多的,于是「宏基因组」公众号立刻就出来一篇《ggbiplot-最好看的PCA作图:样品PCA散点+分组椭圆+变量贡献与相关》,后面又有人提问,能不能加两个置信区间?@Chenhao童鞋就给出了解决方案,并且写了篇博客文介绍.
他的作图是基于ggord
包,只能应用于LDA,于是「宏基因组」公众号又跟进发一篇《比PCA更好用的监督排序—LDA分析、作图及添加置信-ggord》,你会发现他们介绍同一类型的作图,一会这个包,一会那个包,一会某包有A功能,某包又有B功能,我就不说什么了。
圣诞节期间,一个个在@微信官方,要加圣诞帽,这让人想起了以前:
今天是马化腾的生日,转发5个群,自动开通一个月的QQ会员
这班玩QQ长大的孩子,现在变成了玩微信的油腻中年了。
做为biobabble公众号的粉丝,我觉得你们是有能力用两三行R代码来给自己加个帽子的。由于我在过圣诞节,所以这篇文章没有能够及时推送出来,就当马后炮吧,不合时宜地调侃一下大家。
meme无非是照片上加两行字,meme这个包本来是练手之作,用来模拟ggplot2的api。结果我后面又实现了字体阴影效果,这次我又带来了外部字体支持。
加载外部字体在R上面主要有extrafont和showtext两个实现,特别是showtext用起来还是非常简单的。我在meme包里写了font_import
函数,内部就是用showtext,只是简单的包装了一下,这样小白用户可以直接下个字体就开撸。有阴影效果,有搞笑字体,就万事具备了,这俨然是个专业的meme工具了。
取子集对于进化树可视化来说是非常常见的,我们要区分内部节点和外部节点,我们也可能想针对某些特点的节点进行注释。
ggplot2现在所有图层都不支持直接取子集,所以呢ggtree就自己定义了一些修改的图层,包括geom_text2
, geom_label2
, geom_point2
和 geom_segment2
,这些图层和ggplot2的版本唯一差别就是支持取子集。这样对于我们做注释来说,就更方便了。
比如说我想给内部节点打点,可以用:
ggtree(tree) + geom_text2(aes(label=label, subset=!isTip), hjust=-.2) +
geom_point2(aes(subset=!isTip), color="red", size=3)