ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
110 stars 30 forks source link

ggplot2 绘图技巧:如何统一文本尺寸 #5656

Closed ixxmu closed 4 hours ago

ixxmu commented 4 hours ago

https://mp.weixin.qq.com/s/hX5DwC0GVfBcYK0SVmiUWQ

ixxmu commented 4 hours ago

ggplot2 绘图技巧:如何统一文本尺寸 by R语言数据分析指南

欢迎关注R语言数据分析指南

本节来介绍ggplot2 3.5版本中的一个新功能,通过其来统一绘图中文本的尺寸大小,下面小编结合官网文档并在此基础上加上自己实际中的应用案例来稍微进行一些扩展。个人观点,仅供参考。

官方文档

https://www.tidyverse.org/blog/2024/02/ggplot2-3-5-0/

library(tidyverse)
library(grid)
p <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars)))
p + geom_text(size=5) +
  theme(axis.text = element_text(size = 10))

上图可以看到通过geom_text添加的文本尺寸与theme的文本大小不统一,这是因为主题中以(pt) 为单位来控制文本大小,而geoms使用以毫米为单位控制文本大小。之前若要在主题和 geom_text()及geom_label()之间直接协调文本大小一直很麻烦。现在更新ggplot2 3.5.0后可通过设置size.unit参数来统一文本的单位。同时annotate类函数也可一并操作,结合之前介绍的I()函数可以更加灵活的来对图形做各种注释。

p +
  geom_text(size = 10, size.unit = "pt") +
  theme(axis.text = element_text(size = 10))+
  coord_cartesian(clip="off")+
  theme(axis.text=element_text(size=10,color="black"),
        plot.margin = margin(c(1,1,0.5,1),unit="cm"))+
  annotate(geom="text",x=I(0.8),y=I(0.5),label="some text",
           size=10,size.unit="pt",color="red")+
  annotation_custom( # 添加文本注释
    grob = grid.text(label="some text",hjust=0,vjust=0,rot=0,
                     x=I(0.5),y=I(1),
                     gp=gpar(col="red",fontsize=10,fontface="bold",size.unit="pt")))

关注下方公众号下回更新不迷路

购买介绍

本节介绍到此结束,有需要学习R数据可视化的朋友欢迎到淘宝店铺:R语言数据分析指南,购买小编的R语言可视化文档(2024版),购买将赠送2023年的绘图文档内容。目前此文档(2023+2024)已经更新上传200案例文档,每个案例都附有相应的数据和代码,并配有对应的注释文档,方便大家学习和参考。

2024更新的绘图内容将同时包含数据+代码+注释文档+文档清单,2023无目录仅有数据文件夹,小编只分享案例文档,不额外回答问题,无答疑服务,零基础不推荐买。

案例特点

所选案例图均属于个性化分析图表完全适用于论文发表,内容异常丰富两年累计发布案例图200+,2024年6月起提供html版注释文档更加直观易学。文档累计上千人次购买拥有良好的社群交流体验。R代码结构清晰易懂,为防止中文乱码提供单独的注释文档

群友精彩评论

淘宝店铺

2024年已更新案例图展示

2023年案例图展示