Nicht so weit, wie ich weiß, so habe ich auf einen Workaround mit strwidth()
, die die Breite des Textes in der Basisgrafik berechnet verwendet.
title <- "This is a really excessively wide title for a plot, especially since it probably won't fit"
Verwenden par("din") to get the width of the device, and
strwidth (`) die Textgröße zu berechnen:
par("din")[1]
[1] 8.819444
strwidth(title, units="inches")
[1] 11.47222
es in Funktion und Plot Verwendung:
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"
das Grundstück:
ggplot(mtcars, aes(wt, mpg)) + geom_point() + opts(title=wrapTitle(title))
Wenn Sie den Plot-Datei speichern möchten, dann können Sie par("din")
den tatsächlichen gespeicherten Grundstück Dimensionen ersetzen.
gute Frage: ein * reproduzierbares * Beispiel könnte Antworten beschleunigen ... –
Schwer eine Antwort ohne Daten zu posten. Aber AFAIK gibt es keine Option in 'ggplot2', aber Sie können eine Funktion schreiben,' 'n'' nach einiger Länge einzufügen. –