查看原文
其他

用R给高考学生送祝福吧

Y叔叔 YuLabSMU 2022-09-23

写个送祝福的橫幅或旗帜,最主要的当然是字体了,而字体,最容易用的当然是showtext了。然后画图,当然是ggplot2了,然后光写字,多没意思啊,得搞个背景吧,背景如果想要图片吧,那必须是使用我写的ggimage包了。

这里使用了Liu Jian Mao Cao的字体,可以直接从google获取,当然你的网络得能够访问。字体加载成功之后,你就可以用ggplot2画图,无非写两行字吧(当然主要是我的脑洞不够大,我相信你有更好的呈现方式,或者字只是点缀吧)。

最后我把图都调好了,想找一张图来做背景,这个太容易,ggimage包有个ggbackground的函数,可以让你强插图片到ggplot对象的最底层图层。这里我使用南方医科大学主页上的图片。图片也不用下载,可以在R里,直接读取网络图片。

require(showtext)
require(ggplot2)
require(ggimage)

font_add_google("Liu Jian Mao Cao", "maocao")
showtext_auto()

d = data.frame(x=0:1)

p = ggplot(d, aes(x,x)) + geom_blank() +
annotate("text", x=.35, y=.8,
label="春风得意马蹄疾\n一日看尽长安花",
family="maocao", size=20) +
annotate("text", x=.78, y=.88,
label="南方医科大学生物信息学专业\n国家一流本科专业建设点欢迎你!",
family="maocao", size=12) +
theme_void()

img <- 'http://www.smu.edu.cn/images/17/05/16/250ttemq0j/banner1.jpg'
ggbackground(p, img)

最终的出图如下:

往期精彩

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存