90-R可视化22-利用ggfittext更好的在注释柱或方块图贴上文本

2022-02-08 15:23:46 浏览数 (1)

  • Date : [[2022-01-06_Thu]]
  • Tags : #R/index/02 #R/R可视化 #R/R数据科学 #其他/答粉丝问题 #R/R包
  • 参考:
    • Fit Text Inside a Box in ggplot2 • ggfittext (wilkox.org)[1]
    • ggfittext 优雅的填充你的文字 (qq.com)

前言

正好最近在操作ggplot的文本处理。

看到一个有意思的包:

简单尝试

主要还是一个geom_fit_text 函数替代本来的geom_text 。

  • reflow 实现换行
  • grow 让文本大小变换填充

此外还有:

  • place 参数设置 “top”, “topright”, “bottomleft”。
  • 以及专门的 geom_bar_text() 替换[[66-R可视化10-自由的在ggplot上添加文本(柱状图加计数)]] 中的方法。
  • xmin 和 xmax 或 ymin 和 ymax 控制文本所在的范围。
  • contrast 让文本与背景颜色自适应

以及将其用在极坐标图中:

此外貌似还可以用md 或html 渲染,不过这里其实有更强的ggtext 了:R语言之可视化(32)之ggtext:提高ggplot2的文本呈现 - 简书 (jianshu.com)[2]

有机会我也介绍一下ggtext吧。

关于ggfittext详细用法可以参见:ggfittext 优雅的填充你的文字 (qq.com)

遗憾

这个包也仅仅是控制方格内的布局,并不能打通自身box 和其他box。

我自己现在也是懵懵懂懂。如果你要完整的作为一个对象,必须要照顾好映射(aplot);如果你想要独立,那么保持独立的元素也必不可少(patchwork)。

这可能就是规范和自由之间的tradeoff 吧。看来学好底层语法,愈来愈重要啊。

否则,如果我还想要拼图制作注释效果,还是得一直手动调整,太不优雅了。

参考资料

[1]Fit Text Inside a Box in ggplot2 • ggfittext (wilkox.org): https://wilkox.org/ggfittext/

[2]R语言之可视化(32)之ggtext:提高ggplot2的文本呈现 - 简书 (jianshu.com): https://www.jianshu.com/p/5bbad4d19322

0 人点赞