Non per quanto ne so, così ho fatto ricorso a una soluzione alternativa utilizzando strwidth()
, che calcola la larghezza del testo nella grafica di base.
title <- "This is a really excessively wide title for a plot, especially since it probably won't fit"
Usa par("din") to get the width of the device, and
strwidth() `per calcolare la dimensione del testo:
par("din")[1]
[1] 8.819444
strwidth(title, units="inches")
[1] 11.47222
usarlo in una funzione e la trama:
wrapTitle <- function(x, width=par("din")[1]){
xx <- strwrap(x, width=0.8 * nchar(x) * width/strwidth(x, units="inches"))
paste(xx, collapse="\n")
}
wrapTitle(title)
[1] "This is a really excessively wide title for a plot, especially since it\nprobably won't fit, meaning we somehow have to wrap it"
La trama:
ggplot(mtcars, aes(wt, mpg)) + geom_point() + opts(title=wrapTitle(title))

Se si desidera salvare la trama su file, quindi è possibile sostituire par("din")
con l'attuale dimensione del tracciato salvato.
buona domanda: un esempio * riproducibile * potrebbe velocizzare le risposte ... –
Difficile pubblicare una risposta senza dati. Ma AFAIK non ha alcuna opzione in 'ggplot2', ma puoi scrivere una funzione per inserire' \ n'dopo una certa lunghezza. –