2016-04-13 9 views
5

Ich versuche, mehrere Legende in ggplot zu rechtfertigen, aber ohne wirklichen Erfolg. Wenn die Legende außerhalb der Zeichnungsregion (grauer Bereich) angezeigt wird, ist die Ausrichtung korrekt. Wenn Legenden jedoch innerhalb der Zeichnungsregion angezeigt werden, werden die Legenden zentriert (und ich möchte sie linksbündig ausgerichtet machen). Ich habe versucht, this thread zu folgen, aber es funktioniert immer noch nicht richtig.Mehrere Legende Begründung

Mein Beispiel:

library(ggplot2) 

ggplot(mtcars, aes(wt, mpg)) + 
    geom_point(aes(colour = factor(cyl), size = qsec)) + 
    geom_point(aes(colour = factor(cyl), size = qsec)) + 
    theme(legend.justification = c(1,0), 
     legend.position = c(1,0), 
     legend.margin = unit(0,"lines"), 
     legend.box = "vertical", 
     legend.key.size = unit(1,"lines"), 
     legend.text.align = 0, 
     legend.title.align = 0) 

Antwort

5

Wir brauchen legend.box.just = "left" in Ihre theme() bestehenden hinzuzufügen.

ggplot(mtcars, aes(wt, mpg)) + 
    geom_point(aes(colour = factor(cyl), size = qsec)) + 
    geom_point(aes(colour = factor(cyl), size = qsec)) + 
    theme(legend.box.just = "left", 
     legend.justification = c(1,0), 
     legend.position = c(1,0), 
     legend.margin = unit(0,"lines"), 
     legend.box = "vertical", 
     legend.key.size = unit(1,"lines"), 
     legend.text.align = 0, 
     legend.title.align = 0) 

enter image description here

+0

Vielen Dank für Ihre schnelle Antwort. Dieser hat mein Problem vollständig gelöst! – Adela

1

Sie können dies versuchen:

library(ggplot2) 
data("mtcars") 
g <- ggplot(mtcars, aes(wt, mpg)) 
g <- g + geom_point(aes(colour = factor(cyl), size = qsec)) 
g <- g + geom_point(aes(colour = factor(cyl), size = qsec)) 
g <- g + theme(legend.justification=c(0,0), legend.position=c(0,0)) 

Für andere Positionen, die Sie aus dieser Dokumentation können versuchen http://www.cookbook-r.com/Graphs/Legends_(ggplot2)/

enter image description here

Wahrscheinlich werden Sie auch eine bessere Erklärung finden im ab ove Verbindung.

+0

Wenn Sie genau hinsehen Legenden sind nicht auf der linken Seite ausgerichtet, das war das OP-Problem. – zx8754

+0

@ zx8754 Ich habe dich nicht vollständig verstanden, heißt das, dass Legenden die Grenze der inneren Grundstücke auf der linken Seite berühren sollten? –

+0

@krishna: Leider löst Ihr Beitrag mein Problem nicht, da ich beide Legenden linksseitig ausgerichtet haben muss. Wie zx8754 geschrieben hat, können Sie bei genauerem Hinsehen sehen, dass sie immer noch zentriert sind - nur die Position der Legenden wurde geändert. zx8754 hat mein Problem bereits gelöst (siehe vorheriger Beitrag). Wie auch immer, danke fürs ausprobieren! – Adela

Verwandte Themen