- 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