Das reproduzierbare Beispiel kann in diesem Tutorial für das Paket cowplot gefunden werden.Ausgerichtete Legenden auf die Mitte des Plotgitters ausrichten (mit Cowplot)
https://cran.r-project.org/web/packages/cowplot/vignettes/shared_legends.html
Kopieren Beispielcode:
library(ggplot2)
library(cowplot)
#down-sampled diamonds data set
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
# Make three plots.
# We set left and right margins to 0 to remove unnecessary spacing in the
# final plot arrangement.
p1 <- qplot(carat, price, data=dsamp, colour=clarity) +
theme(plot.margin = unit(c(6,0,6,0), "pt"))
p2 <- qplot(depth, price, data=dsamp, colour=clarity) +
theme(plot.margin = unit(c(6,0,6,0), "pt")) + ylab("")
p3 <- qplot(color, price, data=dsamp, colour=clarity) +
theme(plot.margin = unit(c(6,0,6,0), "pt")) + ylab("")
# arrange the three plots in a single row
prow <- plot_grid(p1 + theme(legend.position="none"),
p2 + theme(legend.position="none"),
p3 + theme(legend.position="none"),
align = 'vh',
labels = c("A", "B", "C"),
hjust = -1,
nrow = 1
)
legend_b <- get_legend(p1 + theme(legend.position="bottom"))
# add the legend underneath the row we made earlier. Give it 10% of the height
# of one plot (via rel_heights).
p <- plot_grid(prow, legend_b, ncol = 1, rel_heights = c(1, .2))
p
Dieses Beispiel zeigt ein Diagramm, in dem die Legende zu der unteren linken Ecke des Gitters ausgerichtet gezeichnet. Allerdings war es früher anders, da die Legende dann auf die untere Mitte der Handlung ausgerichtet wurde. Hier ist ein Beispiel, das vor einigen Monaten von meinem persönlichen Code generiert wurde. https://s1.postimg.org/8pf2en1zen/Untitled.png (Upload-Tool derzeit nicht für mich arbeiten)
meinen alten Code nach einer unbekannten Menge von Änderungen in beiden Paketen Erneutes Ausführen liefert eine Legende nach unten links ausgerichtet (wie auch im Tutorial, von oben dritten Plot dargestellt): https://s1.postimg.org/3agjw7n9gf/Untitled2.png
Die Frage ist, wie Sie den Code anpassen, um die Legende an der unteren Mitte ausgerichtet zu zeichnen.
Danke. Dies erfordert "Versuch und Irrtum" für andere Legendengrößen, denke ich. – nouse
'legend_b <- get_legend (p1 + Thema (legend.position =" none ", legend.direction =" horizontal "))' das funktioniert auch für mich. –
Fehler in get_legend (p1 + theme (legende.position = "none", legend.direction = "horizontal")): Der Plot muss eine Legende enthalten – nouse