491 Stimmen

Wie ändere ich den Legendentitel in ggplot?

Ich habe das folgende Diagramm wie unten dargestellt. Es wurde mit diesem Befehl erstellt:

library(ggplot2)

df <- data.frame(cond = factor(rep(c("A", "B"), each = 200)), 
                 rating = c(rnorm(200), rnorm(200, mean=.8)))

ggplot(df, aes(x=rating, fill=cond)) + 
geom_density(alpha = .3) +
xlab("NEUER TITEL FÜR BEWERTUNG") +
ylab("NEUER TITEL FÜR DICHTE")

Jetzt möchte ich den Legendentitel von cond in NEUER LEGENDENTITEL ändern.

Daher habe ich einfach die folgende Zeile am Ende des obigen Codes hinzugefügt:

+labs(colour="NEUER LEGENDENTITEL")

Aber es funktioniert nicht. Wie geht es richtig?

Bildbeschreibung hier eingeben

2voto

ibm Punkte 714

Wenn Sie die Farben geändert haben, fügen Sie dies hinzu. Dies hat auch bei mir in einem qplot mit zwei diskreten Variablen funktioniert:

p+ scale_fill_manual(values = Main_parties_color, name = "Main Parties")

2voto

GAURAV JOSHI Punkte 489

Der Weg, den ich Ihnen zeigen werde, ermöglicht es Ihnen, die Beschriftungen von Legende, Achse, Titel usw. mit einer einzigen Formel zu ändern, ohne dass Sie sich mehrere Formeln merken müssen. Dies wirkt sich nicht auf den Schriftstil oder das Design der Beschriftungen/Texte von Titeln und Achsen aus.

Ich gebe unten die vollständige Antwort auf die Frage.

 library(ggplot2)
 rating <- c(rnorm(200), rnorm(200, mean=.8))
 cond <-factor(rep(c("A", "B"), each = 200))
 df <- data.frame(cond,rating 
             )

 k<- ggplot(data=df, aes(x=rating, fill=cond))+ 
 geom_density(alpha = .3) +
 xlab("NEUER BEWERTUNGSTITEL") +
 ylab("NEUER DICHTE-TITEL")

 # um die Bedingung in eine andere Beschriftung zu ändern
 k$labels$fill="Neuer Legenden-Titel"

 # um die Achsentitel zu ändern
 k$labels$y="Y-Achse"
 k$labels$x="X-Achse"
 k

Ich habe die ggplot-Ausgabe in einer Variable "k" gespeichert. Sie können es nennen, wie Sie möchten. Später habe ich

k$labels$fill ="Neuer Legenden-Titel"

verwendet, um die Legende zu ändern. "fill" wird für die Beschriftungen verwendet, die verschiedene Farben anzeigen. Wenn Sie Beschriftungen haben, die Größen wie 1 Punkt für 100 oder ein anderer Punkt für 200 usw. anzeigen, können Sie diesen Code wie folgt verwenden-

k$labels$size ="Größe der Punkte"

und es wird den Beschriftungstitel ändern.

2voto

Ayoub EL MAJJODI Punkte 141

Die einzige Lösung, die bei mir funktioniert: p + guides(fill=guide_legend("Neuer Titel"))

1voto

Nakx Punkte 1330

Viele Menschen verbringen viel Zeit damit, Labels, Legenden, Titel und die Namen der Achsen zu ändern, weil sie nicht wissen, dass es möglich ist, in R Tabellen zu laden, die Leerzeichen enthalten " ". Sie können dies jedoch tun, um Zeit zu sparen oder die Größe Ihres Codes zu reduzieren, indem Sie die Trennzeichen angeben, wenn Sie eine Tabelle laden, die z.B. mit Tabs (oder einem anderen Trennzeichen als dem Standard oder einem einzelnen Leerzeichen) getrennt ist:

read.table(sep = '\t')

oder indem Sie die Standardladeparameter des CSV-Formats verwenden:

read.csv()

Dies bedeutet, dass Sie den Namen "NEW LEGEND TITLE" direkt als Spaltenname (Überschrift) in Ihrer ursprünglichen Datei belassen können, um die Angabe eines neuen Legendentitels in jedem Diagramm zu vermeiden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X