Ich habe 2 Plots der gleichen Sache, ausgenommen die Farben füllen die Balken sind unterschiedlich auf jedem Grundstück. Da die Legende in den verschiedenen Plots aufgrund der Größe der Namen unterschiedliche Breiten hat, wird das Verhältnis zwischen Graph und Legende auf jeder Plot unterschiedlich. Ich muss beide gleich aussehen lassen.ggplot2 Legende Breite und Legende Strings Größe
Dies ist ein Beispiel:
library(ggplot2)
x = c(rep("a",20),rep("b",10))
y = c(x = c(rep("BIGTEXT",20),rep("EVENBIGGERTEXT",10)))
df = data.frame(x,y)
p1 = ggplot(df,aes(x,fill=x)) + geom_bar()
p2 = ggplot(df,aes(y,fill=y)) + geom_bar()
p1
p2
sehr elegant, aber das Ergebnis der Legende Tasten in leicht unterschiedlichen Positionen zwischen den Plots. Gibt es eine Möglichkeit, die Breitengleichheit bis zur Legende gtable zu erzwingen? – user20650
@ user20650 es ist sicherlich möglich, aber etwas fummelig, weil i) die ganze Sache schlecht dokumentiert ist (man könnte erwarten "legende.margin" oder "legende.justification", aber nein), ii) ggplot ändert sein Layout Struktur im Laufe der Zeit; iii) gtable hat sich nie auf eine bequeme Art und Weise mit Begründungen befasst, die immer tiefere Ebenen von verschachtelten gtables erfordern, die schwer zu navigieren sind. Die Frage war zu diesem Thema nicht spezifisch, daher bin ich mir nicht sicher, was der beabsichtigte Anwendungsfall ist. – baptiste