r - 添加独立于条形文本标签的子图编号
问题描述
我想找到一个简单的解决方案来编号子图,因为这是我工作的一个非常标准的练习。我可以通过安排图并通过例如自动添加数字来做到这一点egg::ggarrange()
。但是,如果我有一个 ggplot 已经通过facet_grid()
长条文本分割成多个方面,这会变得复杂且特别难看。我已经在这里问过一个类似的问题。
在出版物中,我通常希望在左上角或右上角有一个带有标签的子图,例如1, 2, 3...
orA, B, C,...
和子图文本标签,用于描述居中于顶部的构面。标签和文本都应该相互独立。在我上面提到的问题中查看@stefan 的解决方案,标签和文本显然不是相互独立的,标签也不是左对齐的。
我想知道,是否有一个函数可以将标签像1, 2, 3...
或A, B, C,...
左对齐放在刻面右上角的顶部,独立于(居中的)条形文本本身?那太棒了,可以为我省去很多麻烦。
我显然可以只使用一个标签,"<b>1</b> Text label"
然后左对齐。但是,如果我有很长的文字,这看起来真的很难看。我想要实现的是左侧的数字标签和跨越两行的文本标签。
一个可接受的解决方案是将带状文本拆分为彼此独立的两列。这样,我可以将一个数字左对齐并在两行上居中放置一个文本标签。
解决方案
感谢@stefan,我查看了tagger包。我发现这个tag_facets()
功能有点难以使用(尤其是定位)。
但是,我注意到我已经tag_facet()
从包中获得了该功能(没有 s!),egg
并决定试一试。这以一种不幸的方式改变了绘图的边距并将条形文本设置为element_blank()
,但这很容易恢复(@Lyngbakr 的答案中提供了类似的解决方案)。
我只是将其添加到我的情节中,并且效果很好:
egg::tag_facet(p, tag_pool = 1:5, open = "", close = "", vjust = -0.7) +
coord_cartesian(clip = "off") +
theme(strip.text = element_text(),
legend.margin=margin(0,0,0,0),
legend.box.margin=margin(-10,-10,-10,-10))
(虽然它会更直观,但这似乎不适用于该egg::tag_facet_outside()
功能......)
推荐阅读
- reactjs - Redux 我应该如何处理 API 调用的更新
- c# - 如何通过两个属性 DC=intechww,DC=com 为 LDAP 创建连接字符串
- python - Django Jinja 输出列表的第一个元素,然后从第二个开始循环
- c# - EF Core 迁移从新的复合索引中删除第一个外键索引
- angular - How to update the configuration for eslint after upgrade angular 9 to 10
- bash - Assign value to a variable 'during' command - bash
- puppeteer - Why does it only returns 11 of my loop as I scrape using puppeteer? Click "show more" button until reaches the end
- freemarker - Is there a wait/sleep function in Freemarker?
- flutter - 基于列表的下拉菜单,必须向文本小部件提供非空字符串
- enterprise-architect - Enterprise Architect (15.2) 中的图表框架背景颜色