R ggplot:如何根据与plot'相对的页边距来包装标题文本;s宽度

R ggplot:如何根据与plot'相对的页边距来包装标题文本;s宽度,r,ggplot2,R,Ggplot2,使用ggplot2进行绘图时,如何包装标题文本以适应相对于绘图整个宽度的边距 库(ggplot2) 图书馆(stringr) 我的题目对这个问题不是100%满意的答案,但它可能仍然有帮助。我们可以使用ggtext::element_textbox()与面板宽度对齐,而不是与整个绘图的宽度对齐。根据标题的大小,您可以改变边距参数,unit(15,“pt”)似乎在这种特殊情况下起作用 库(ggplot2) #>警告:包“ggplot2”是在R版本4.0.2下生成的 图书馆(ggtext) #>警告:

使用
ggplot2
进行绘图时,如何包装标题文本以适应相对于绘图整个宽度的边距

库(ggplot2)
图书馆(stringr)

我的题目对这个问题不是100%满意的答案,但它可能仍然有帮助。我们可以使用
ggtext::element_textbox()
与面板宽度对齐,而不是与整个绘图的宽度对齐。根据标题的大小,您可以改变
边距
参数,
unit(15,“pt”)
似乎在这种特殊情况下起作用

库(ggplot2)
#>警告:包“ggplot2”是在R版本4.0.2下生成的
图书馆(ggtext)
#>警告:包“ggtext”是在R版本4.0.3下生成的

我的标题说明,您也可以使用此方法通过在主题中设置
plot.title.position=“plot”
来对齐整个宽度。您是否可以提供一个代码和plot的示例,以便将其与
plot.title.position=“plot”
一起使用?按照你的建议,我试着运行这样的代码,但它似乎没有相同的边距长度。谢谢你的编辑。是的,让
halign=0.5
居中文本并保持页边空白相等,这才是我真正想要的@艾曼,如果teunbrand回答了你的问题,你应该把它标记为最佳答案。这将给他们提供正确答案的荣誉,并帮助有相同问题的其他人知道这个问题有正确答案。当你说你希望以更准确的方式解决问题时,我能确切地问一下你的意思吗?当然,很抱歉不清楚。(1) 对我来说,边距(左右)长度相等(从每条边开始)是至关重要的。下面的答案很好,但您可以在这里看到边距不相等:。(2) 一旦问题(1)被解决,我强烈需要能够以百分比的形式指定页边距的长度。在这篇文章中,我举了一个25%的例子,但希望我能简单地设置这个数字并调整边距。谢谢你的帮助。关于问题(2),您可以将下面我的答案中的
width=unit(x,“npc”)
参数调整为
x=1-2*所需的分数。关于(1),除了使用注释中提到的
plot.title.position
,我认为没有精确的文本整形包可以调整字母间距,使一行跨过一个精确的宽度。这在微软Word或Adobe InDesign中也很棘手。当然,这是合理的,我不希望它将字母隔开以适应页边空白。我只想让一个单词在覆盖边距的情况下进入下一行(即,换行)。但即使使用
plot.title.position=“plot”
它的边距(从绘图的边缘开始)似乎也不相等。我已经对你的答案发表了评论。