R ggparagraph将引入随机换行符,并且不使用完整的绘图宽度

vwkv1x7d  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(90)

我已经通过ggarrange整理了几个图,我想用其中一个图作为输入描述的字段,但是,无论我如何输入文本或图最终有多宽,在不需要的地方都会有随机的换行符。

# Summary paragraph creation
summaryText <- paste("\n\nGenotype for",
                     " rs", summaryRs,
                     " in ", summaryGene, " ",
                     "(trackno", trackno, ")\n\n",
                     "Fig. A – Bar chart with number of observations, \nFig. B – Jitter plot with linear regression, \nFig. C – Violin/Boxplot with means",sep="")
summaryPlot <- ggparagraph(text=summaryText, size=12, color="black")

A wide variation of the arranged plot still leads to line breaks
我试过改变summaryText的创建方式,并为ggparagraph寻找格式选项,但没有用。即使是更宽的排列图(如图所示)也不能消除这些换行符。

hjqgdpho

hjqgdpho1#

虽然文档有点稀疏,但恕我直言,问题是ggparagraph并不意味着要与手动换行符一起使用。
将长文本拆分为多行(通过插入换行符),以便输出适合当前视口。
因此,您的字符串被视为一个长字符串,ggparagraph将插入额外的换行符(不考虑手动添加的换行符)。
相反,一个实现你想要的结果的选择是使用gridtext::textbox_grob .注意,我们必须使用HTMl标签<br>来代替\n,在使用gridtext::textbox_grob时添加一个换行符:

library(ggpubr)
#> Loading required package: ggplot2
library(gridtext)

summaryRs <- 10521432
summaryGene <- "MAOB"
trackno <- 12070397

summaryText <- paste0(
  "<br><br>Genotype for",
  " rs", summaryRs,
  " in ", summaryGene,
  "(trackno", trackno, ")<br>",
  "Fig. A – Bar chart with number of observations,<br>",
  "Fig. B – Jitter plot with linear regression,<br>",
  "Fig. C – Violin/Boxplot with means"
)
summaryPlot <- gridtext::textbox_grob(summaryText)

# Density plot
density.p <- ggdensity(iris,
  x = "Sepal.Length",
  fill = "Species", palette = "jco"
)

# Arrange the plots on the same page
ggarrange(summaryPlot, density.p,
  ncol = 1, nrow = 2,
  heights = c(.5, 1)
)

相关问题