其他
2018年useR会议的一道风景线
今年的useR会议上,惊现一面六角贴墙!而这面墙上的六角贴,有很多是使用我的包画的,我自己画的4个六角贴也被打印在上面。
之前的帖子已经介绍了很多,使用一条指令就可以直接出六角贴(详见文后的链接),事实上这是一个支持图形语法的包,你可以用你熟悉的ggplot2
语法自己慢慢玩,我以我画的treeio
包的代码为例,值得显摆的是这里用到的4个包,全是我自己写的。其中树的部分由ggtree
支持,geom_fontawesome
来自于emojifont
包,而geom_subview
来自于ggimage
,其它那些六角贴的图层都来自于hexSticker
包。
后台回复「目录」可以拿到公众号的最新目录,翻一下就可以找到以前好多介绍这几个包的系列文章。
require(emojifont)
require(ggimage)
require(ggtree)
require(hexSticker)
set.seed(2017-03-06)
tr <- rtree(10)
dd = data.frame(id=tr$tip.label, value=abs(rnorm(10)))
p <- ggtree(tr, size=.5, color="darkgrey") + theme_transparent()
require(ggstance)
p <- facet_plot(p, panel="Trait", data=dd, geom=geom_barh,
mapping=aes(x=value), stat='identity',
fill='grey', color=NA, width=.6, size=.5)
p <- p+theme(strip.text = element_blank(),
panel.spacing = unit(0, "lines"))
pg <- hexagon() + geom_fontawesome("fa-file-text-o", size=14, x=.54, y=.85, color="grey") +
geom_fontawesome("fa-angle-double-right", size=6, color="#2C3E50", x=1.08, y=1) +
geom_fontawesome("fa-angle-double-left", size=6, color="#2C3E50", x=.86, y=.7) +
geom_subview(subview=p, x=1.42, y=.8, width=0.8, height=.9) +
geom_pkgname("treeio", family="Aller_Lt", size=9.5, y=1.4)
save_sticker("treeio.png", pg)