R语言ggplot2添加单个文本或多个文本(包括公式)

1. 图中添加单个文本(annotate函数,grid.text函数)和公式

比如添加TEST字符:

p1 <- ggplot(mtcars, aes(x=mpg, y=wt)) +
  geom_point(color = "grey20",size = 1, alpha = 0.8)
p1 + 
  annotate("text", x = 20 , y = 4,label = "TEST",colour="red") + 
  annotate("text", x = 20 , y = 3,label = "TEST2",colour="blue") + theme_bw()

在这里插入图片描述
这里关注到annotate函数,很好用,还有其他应用:

p1 <- ggplot(mtcars, aes(x=mpg, y=wt)) +
  geom_point(color = "grey20",size = 1, alpha = 0.8)

p1 + 
  annotate("text", x = -4 , y = 1.2,label = "TEST",colour="red") + 
  annotate("text", x = -4 , y = 0.8,label = "TEST2",colour="blue") 


p1
grid.text("text1", x = 0.2, y = 0.8)
grid.text("text2", x = 0.2, y = 0.8)

## annotate examples
p <- ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()
p + annotate("text", x = 4, y = 25, label = "Some text")
p + annotate("text", x = 2:5, y = 25, label = "Some text")
p + annotate("rect", xmin = 3, xmax = 4.2, ymin = 12, ymax = 21,
             alpha = .2)
p + annotate("segment", x = 2.5, xend = 4, y = 15, yend = 25,
             colour = "blue")
p + annotate("pointrange", x = 3.5, y = 20, ymin = 12, ymax = 28,
             colour = "red", size = 1.5)

p + annotate("text", x = 2:3, y = 20:21, label = c("my label", "label 2"))

p + annotate("text", x = 4, y = 25, label = "italic(R) ^ 2 == 0.75",
             parse = TRUE)
p + annotate("text", x = 4, y = 25,
             label = "paste(italic(R) ^ 2, \" = .75\")", parse = TRUE)

添加公式:

require(gridExtra)
require(ggplot2)
p=ggplot(data.frame(x=c(-3,3)), aes(x=x)) + stat_function(fun=dnorm)
p1=p + annotate("text", x=2, y=0.3, parse=T, label="y==frac(1, sqrt(2*pi)) * e^{-x^2 / 2}")
p2=p + annotate("text", x=2, y=0.3, parse=T, label="frac(1, sqrt(2*pi)) * e^{-x^2 / 2}")
grid.arrange(p1,p2, nrow=1)

在这里插入图片描述

对于grid.text()函数,需要加载grid包,使用体验不如annotate

p1 <- ggplot(mtcars, aes(x=mpg, y=wt)) +
  geom_point(color = "grey20",size = 1, alpha = 0.8)

p1
grid.text("text1", x = 0.2, y = 0.5)
grid.text("text2", x = 0.2, y = 0.8,gp=gpar(col="red"))

详细的功能可以查看函数帮助 ?grid.text

2. 散点图全部添加文字label

散点图有需要添加label的需求时候,可以使用ggplot中的geom_text
或者使用ggrepel包中的,可以防止label重叠:

geom_label_repel()
geom_text_repel()

参考:
http://www.sthda.com/english/wiki/ggplot2-texts-add-text-annotations-to-a-graph-in-r-software
https://stackoverflow.com/questions/66458560/how-to-add-single-annotation-to-overall-ggplot-plot-and-not-to-each-facet

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言中,可以使用ggplot2包来设置图形的字体大小。首先,如果要在单个图片中设置字体大小,可以使用theme_grey函数来设置基本字体大小,例如theme_grey(base_size = 18),然后使用qplot或ggplot函数创建图形,如qplot(1:10, 1:10)或ggplot(mtcars, aes(x = mpg, y = cyl)) geom_point()。同样地,如果要全局设置字体大小,可以使用theme_set函数,例如theme_set(theme_gray(base_size = 18)),然后再创建图形。可以根据需要调整字体大小的数值,例如base_size = 18或base_size = 50。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [R语言ggplot2可视化改变字体大小实战:单个图片设置字体大小、全局设置字体大小](https://blog.csdn.net/zhongkeyuanchongqing/article/details/121140375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [R语言ggplot2绘图设置X轴刻度,字体大小及绘图区大小](https://blog.csdn.net/weixin_33712987/article/details/93093887)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [practicalgg:实用的ggplot2](https://download.csdn.net/download/weixin_42159267/19028781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值