给你一顶帽子
圣诞节期间,一个个在@微信官方,要加圣诞帽,这让人想起了以前:
今天是马化腾的生日,转发5个群,自动开通一个月的QQ会员
这班玩QQ长大的孩子,现在变成了玩微信的油腻中年了。
做为biobabble公众号的粉丝,我觉得你们是有能力用两三行R代码来给自己加个帽子的。由于我在过圣诞节,所以这篇文章没有能够及时推送出来,就当马后炮吧,不合时宜地调侃一下大家。
如果你们把历史目录翻到2017年4月16日,那么你们就会看到下面这张图,这是网友用ggimage玩出来的:
加帽子嘛,so easy,红帽绿帽随便你们自己加,这里我用了steve jobs的照片和red hat的logo来演示一下:
jobs <- "https://images-na.ssl-images-amazon.com/images/I/51ec2bHfQmL._SX327_BO1,204,203,200_.jpg"
hat <- "https://pbs.twimg.com/profile_images/660486650/500px-Red_Fedora.svg.png"
library(ggimage)
d <- data.frame(x = 0:1, y = 0:1)
p <- ggplot(d, aes(x, y)) + geom_image(image=jobs, size=Inf)
size = Inf的时候,照片会填充整个画布,也就是把背景照片画出来。如果你不喜欢xy轴这些在此处其实没用的元素的话,+theme_void()解决一切。
然后就是加帽子了:
p + geom_image(image=hat, x=.5, y=.85, size=.8)
x, y指定位置,size指定大小,duang duang duang:
然而在写这个文章的时候,我感觉到还缺少点什么,那就是帽子得可以随意旋转用户指定的角度,于是我在ggimage 0.1.1版本中加入了angle参数,目前CRAN上只有0.1.0版本,你可以通过我的github安装这个最新版本。有了angle参数,帽子就可以歪着戴了。
p + geom_image(image=hat, x=.6, y=.85, size=.8, angle=30)
转发5个群,Y叔送你一顶帽子。