library(ggplot2)
my_title = "This is a really long title of a plot that I want to nicely wrap \n and fit onto the plot without having to manually add the backslash n, but at the moment it does not"
r <- ggplot(data = cars, aes(x = speed, y = dist))
r + geom_smooth() + #(left)
opts(title = my_title)
プロットのタイトルを設定して、テキストを折り返し、プロットに合わせて縮小することはできますか?
ggplot2
にテキスト折り返しオプションがあるとは思いません(私はいつも手動で\ n挿入しました)。ただし、次の方法でコードを変更することにより、タイトルのテキストのサイズを縮小できます。
title.size<-10
r + geom_smooth() + opts(title = my_title,plot.title=theme_text(size=title.size))
実際、theme_text
関数を使用してテキストのすべての側面を確認できます。
折り返す文字数を手動で選択する必要がありますが、strwrap
とpaste
の組み合わせで希望どおりに動作します。
wrapper <- function(x, ...)
{
paste(strwrap(x, ...), collapse = "\n")
}
my_title <- "This is a really long title of a plot that I want to nicely wrap and fit onto the plot without having to manually add the backslash n, but at the moment it does not"
r +
geom_smooth() +
ggtitle(wrapper(my_title, width = 20))