ggplot2 添加文字信息,设置黑体、斜体、旋转、对齐

目的:图中添加文字。

1. 每个点都添加文字

效果不好。
保持文字颜色和点一致,就没法斜体。
设置斜体,就没法保持文字颜色。
在这里插入图片描述

library(ggplot2)
p1=ggplot(iris, aes(Sepal.Length, Sepal.Width, color=Species))+
  geom_point(size=1.5)+
  theme_classic();p1

# try1: 为每个点添加文字:斜体失败
p2 <- p1 + geom_text(aes(label = Species),
                   vjust = -1, parse = TRUE, 
                   fontface="italic",
                   family = "Arial"
                   )+
  # 设置P值为斜体
  theme(
    #text = element_text(face = "italic") #正图不斜体,其他都斜体: 坐标轴tick/label, 图例
  ); p2

# try2: 斜体文字,但是没有颜色
p2=p1+annotate("text", x=iris$Sepal.Length, y=iris$Sepal.Width, 
               #color=iris$Species,
               color="grey",
               vjust=-1,
               label=iris$Species, 
               fontface="italic"); p2

2. annotate 添加少量几个文字信息

annotate是脱离整体数据流的,必须重新制定x和y坐标及标签内容 label。
在这里插入图片描述

  • hjust 取值范围[0, 0.5, 1] 分别控制水平方向的左对齐,中部对齐,右对齐。
  • vjust 同上,控制竖直方向的对齐。
  • angle 旋转角度,单位360°一圈。x轴正方向为0,逆时针方向为正角度。
  • fontface 斜体、黑体
# https://statisticsglobe.com/add-bold-and-italic-text-to-ggplot2-plot-in-r
p3=ggplot(data=data.frame(x=c(4.5,7.5), y=c(2,4)), aes(x, y))+
  geom_point(size=0.1)+
  theme_classic()+
  annotate(geom="text", x=6, y=2, label="label1 normal", fontface="plain")+ #default fontface is plain
  annotate("text", x=6, y=2.2, label="label2 Bold", fontface="bold", color="red")+
  annotate("text", x=6, y=2.4, label="label3 italic", fontface="italic", size = 8, color="navy")+
  annotate("text", x=6, y=2.6, label="label4 bold and italic", fontface="bold.italic")+
  # Add partly bold/italic text element to plot
  annotate("text", x=6, y=2.8, label = "label5~bold(Partly~Bold)~and~italic(Partly~Italic)~Text", parse = TRUE)+
  annotate("text", x=6, y=3.0, label = "italic(R) ^ 2 == 0.75", parse = TRUE)+
  annotate("text", x=6, y=3.2, label = "paste(italic(R) ^ 2, \" = 0.75\")", parse = TRUE, color="purple")+
  # http://www.cookbook-r.com/Graphs/Fonts/
  annotate("text", x=5, y=3, label = "label6 angle=60", angle=60, 
           vjust=0, hjust=0,
           size=4, #family="Courier", 
           fontface="bold",color="red")+
  ggtitle("annotate text styles"); p3
# http://127.0.0.1:60473/graphics/plot_zoom_png?width=379&height=350


#
# ggtext pkg //todo
# https://genchanghsu.github.io/ggGallery/posts/2021-07-10-post-5-awesome-text-display-with-ggtext/
#labs(title = "<span style = 'font-size: 18pt'><i>**I**nternational **B**iology **O**lympiad<i/></span><br>Numbers of participants over past three decades"); p3 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值