Sto utilizzando facet_grid() per visualizzare alcuni dati e ho etichette facet che si estendono su più righe di testo (contengono il carattere "\ n").ggplot2: Come giustificare a sinistra il testo dalle etichette di sfaccettatura su più righe?
require(ggplot2)
#Generate example data
set.seed(3)
df = data.frame(facet_label_text = rep(c("Label A",
"Label B\nvery long label",
"Label C\nshort",
"Label D"),
each = 5),
time = rep(c(0, 4, 8, 12, 16), times = 4),
value = runif(20, min=0, max=100))
#Plot test data
ggplot(df, aes(x = time, y = value)) +
geom_line() +
facet_grid(facet_label_text ~ .) +
theme(strip.text.y = element_text(angle = 0, hjust = 0))
Quindi, utilizzando l'argomento hjust = 0, posso allineare il testo dell'etichetta sfaccettatura sinistro come un'unità.
Quello che vorrei fare è sinistra-allineare ogni singola riga di testo. Quindi "Etichetta B" e "etichetta molto lunga" sono entrambe allineate lungo il lato sinistro, piuttosto che centrate l'una rispetto all'altra (idem per "Etichetta C" e "breve"). È possibile in ggplot2? Grazie in anticipo per il vostro aiuto.
Grazie per l'ottima risposta. Sembra che ci sia molto potere sapere come modificare gli oggetti grid e grob sottostanti ggplot. Puoi consigliare una buona risorsa per principianti o una guida per la modifica di grid/grob? Grazie ancora. –
Dopo aver giocato un po 'con questo, penso che puoi ottenere il grob senza doverlo prima visualizzare usando questo piccolo tweak: 'grab = grid.grabExpr (grid.draw (gp))' –
@Brain_Food AFAIK, non c'è niente che riunisce la modifica della griglia dei grafici ggplot2 in modo completo. Per 'grid', controlla i riferimenti sulla pagina info del tag' r-grid' su SO. [Workshop 2015 sull'uso di Paul Murrell] (https://www.stat.auckland.ac.nz/~paul/useR2015-grid/) fornisce alcuni dettagli sulla modifica di ggplot usando le funzioni di griglia. Altrimenti, SO risponde. Inoltre, le funzioni di 'gtable' sono utili. Baptiste ha messo insieme [alcune note su 'gtable'] (https://github.com/baptiste/gtable/wiki/Description) –