ggplot2——annotate注释

时间:2018-07-04 阅读:2234


之前有网友问我如何在ggplot2绘制的图片左上角添加文字,由于最近个人的一些事情比较忙,一直没能及时回复,所以今天通过这篇文章分享一个通过注释的方法来完成这个。

这里以iris数据为例,

library(ggplot2)
head(iris)
data("iris")
p<-ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width))+geom_point()+aes(colour=Species)

首先来说说关于标题的问题,标题和副标题可以通过ggtitle来添加,在theme中通过hjust,vjust和angle控制位置。

p+ggtitle("iris analyze",subtitle = "跟着菜鸟一起学R语言")+theme(
  plot.title =element_text(hjust = 0.5,vjust = 1),plot.subtitle = element_text(hjust = 0.5))

hjust控制标题的水平位置,vjust控制标题的垂直距离,这个调整变化不大,是微调,angle控制标题旋转的角度。这三个参数的取值范围在不同版本的ggplot2中可能不一样。


现在来将“跟着菜鸟一起学R语言”这几个字放在图片的右上角。

p+annotate("text",x=7.3,y=4.3,label="跟着菜鸟一起学R语言")+
  theme(panel.background = element_blank())

这里主要是使用annotate函数完成,通过设置X和Y的值来控制添加文本的具体位置。

接下来说说我的封面是怎么做的,其实也是非常的简单,它主要用到控制字体颜色,字体旋转角度,字体大小和字体样式。

这张图的绘制主要有两个重要步骤:1是导入系统字体。2是使用annotate添加文字。

1.导入系统文字

这里使用windowsFonts函数导入系统字体,在annotate中使用该字体,

并进行一定调整。

windowsFonts(
  JP1 = windowsFont("华文彩云"),
  JP2 = windowsFont("华文琥珀"),
  JP3 = windowsFont("仿宋"),
  JP4 = windowsFont("黑体"),
  JP5 = windowsFont("楷体")
  )

2.添加文字

此处也是用annotate函数完成的,不过就是叠加的多了几个而已。

p+annotate("text",x=6,y=3,label="跟着菜鸟一起学R语言",size=11,angle=30,alpha=0.2,family="JP2")+
  annotate("text",x=7,y=2.2,label="跟着菜鸟一起学R语言",size=8,angle=-15,alpha=0.9,colour="red",family="JP3")+
  annotate("text",x=7,y=4,label="跟着菜鸟一起学R语言",size=6,angle=-30,alpha=0.5,colour="blue",family="JP4")+
  annotate("text",x=5,y=4,label="跟着菜鸟一起学R语言",size=8,angle=-10,alpha=0.7,colour="green",family="JP1")+
  annotate("text",x=5,y=3,label="跟着菜鸟一起学R语言",size=6,angle=-30,alpha=0.5,colour="blue",family="JP5")

其实ggplot2的绘图思想和Photoshop的思想十分类似,就是在一个图层上面再添加一个图层。对于一些比较复杂的图片,无非是叠加的图层多一些而已。

☞ 推荐阅读 

1:用 = 还是<-?傻傻分不清

2:Windows系统是这样配置spark环境的

3:正则表达式提取腾讯教育新闻链接及图片链接

4:基于Spark ALS算法的个性化推荐(仅需三行代码)

5:初识sparklyr—电影数据分析

6:RStudio竟然把这么多好东西放在这

7:ggplot2你需要知道的都在这...

    已同步到看一看

    发送中

    

    公众号:程序员资源社区

    扫码回复:源码,获取网站教程源码

    编程网盘资料/视频分享群(免费)

    微信扫码进群领取资料