ggtitle中的自动换行

Automatic line break in ggtitle

有没有办法在 ggtitle 命令中强制 自动 换行?

作为 shiny 应用程序的一部分,我使用不同的绘图和标题的输入变量。 不幸的是,其中一些变量值太长而无法显示。

我通过手动插入 \n(或换行符)遇到了一种可能性(此处有详细信息:)。在那里,会建议类似 ggtitle(paste("", title, "", sep = "\n")) 的内容。

因为包含 \n 容易出错,而且对于不同的地块大小不灵活,我正在寻找另一种可能性。

这是一个最小的工作示例(改编自上面链接的 lawyeR 问题):

DF <- data.frame(x = rnorm(400))
title_example <- "This is a very long title describing the plot in its details. The title should be fitted to a graph, which is itself not restricted by its size."
plot <- ggplot(DF, aes(x = x)) + geom_histogram() +
  ggtitle(title_example)

您可以在此处找到图片:https://i.stack.imgur.com/6MMKF.jpg

你知道怎么做吗?调整 sep = 运算符自动换行或者是否有包/解决方法?谢谢!

ggtext 包的文本元素可以帮助解决这个问题。 element_textbox_simple() 里面的文字自动换行。尝试调整图形设备的大小 window,它会适应!

library(ggplot2)
library(ggtext)

DF <- data.frame(x = rnorm(400))
title_example <- "This is a very long title describing the plot in its details. The title should be fitted to a graph, which is itself not restricted by its size."

ggplot(DF, aes(x = x)) + geom_histogram() +
  ggtitle(title_example) +
  theme(plot.title = element_textbox_simple())
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.