Ich habe die folgende Handlung wie unten. 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("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
Als nächstes möchte ich den Legendentitel von cond in NEW LEGEND TITLE ändern .
Also habe ich einfach die folgende Zeile hinzugefügt und das Ende des obigen Codes hinzugefügt:
+labs(colour="NEW LEGEND TITLE")
Aber es funktioniert nicht. Was ist der richtige Weg, um es zu tun?
labs(fill="xyz")
sollte tungeom_
Anweisungen suchen , empfehle ich die Antwort unter stackoverflow.com/a/38485985/1169233 , es ist die einzige, die für mich funktioniert hat.Antworten:
Das sollte funktionieren:
(oder alternativ)
quelle
p$labels$fill <- "New Legend Title"
p$labels$fill
hat bei mir nicht funktioniert. Mitggplot2_2.1.0
ich benutzep$labels$colour <- "New legend title"
p$labels$fill
ist schön, aber wenn Sie mehr als eine Variable in der Ästhetik (Linientyp, Farbe, Form) in aes verwenden, müssen Sie sie für jede einzeln ändern.Ich habe mich nicht viel damit beschäftigt, aber weil du fill = cond in ggplot () verwendet hast,
könnte nicht funktioniert haben. Wie auch immer Sie Farbe durch Füllen ersetzen , es funktioniert!
Dies hat bei mir in ggplot2_2.1.0 funktioniert
quelle
p + guides(fill=guide_legend(title="New Legend Title"))
Da Sie zwei Dichten haben, kann es sein, dass Sie Ihre eigenen Farben einstellen möchten
scale_fill_manual
.Wenn ja, können Sie Folgendes tun:
quelle
Keiner der oben genannten Codes hat bei mir funktioniert.
Folgendes habe ich gefunden und es hat funktioniert.
labs(color = "sale year")
Sie können auch ein Leerzeichen zwischen dem Titel und der Anzeige einfügen, indem Sie
\n
am Ende hinzufügen .labs(color = 'sale year\n")
quelle
fill
anstelle voncolor
(odercolour
) benötigt wird? In Anbetracht des Zeitpunkts der Frage ist es möglich, dass es sich um eineggplot2
Version handelt.Da Sie in Ihrem Code
ggplot(data, fill= cond)
das Histogramm erstellt haben, müssen Sie den Legendentitel hinzufügen, indem Sie auch "Beschriften" im Beschriftungsabschnitt verwenden, d+labs(fill="Title name")
. H. Wenn Sie einen anderen Plottyp verwenden, bei dem der Code ggplot war (Daten, Farbe = Kond), können Sie diesen verwenden+labs(colour= "Title Name")
. Zusammenfassend muss das Laborargument mit dem Argument aes übereinstimmen.Ich habe
+ guides(fill=guide_legend("my awesome title"))
den Legendentitel in geom_bar-Plots geändert, aber es schien für geom_point nicht zu funktionieren.quelle
geom_point()
, das funktioniert für mich:guides(color=guide_legend("Type:"))
guides(color=guide_legend("Score Ranking:"))
Es gibt eine andere sehr einfache Antwort, die für einige einfache Diagramme funktionieren kann.
Fügen Sie einfach einen Aufruf von guide_legend () in Ihr Diagramm ein.
Wie in den sehr schönen ggplot-Dokumenten gezeigt .
Wenn dies nicht funktioniert, können Sie Ihre Guide-Parameter mit einem Aufruf von Guides genauer einstellen :
Sie können auch die Form / Farbe / Größe variieren, indem Sie diese Parameter auch für Ihren Anruf
guides
angeben.quelle
qplot(…) + guides(color=guide_legend(title="sale year"))
funktionierteNur um der Liste hinzuzufügen (die anderen Optionen hier haben bei mir nicht funktioniert), können Sie auch die Funktion update_labels für ggplot verwenden:
Auf diese Weise können Sie auch die Beschriftungen der x- und y-Achse mit separaten Zeilen ändern:
quelle
Ich habe festgestellt, dass es zwei Möglichkeiten gibt, legend.title für ggboxplot () zu ändern / anzugeben:
Der Code wird basierend auf dem Beispiel von GitHub geändert .
quelle
Ich verwende ein facet_wrap in meinem ggplot und keine der vorgeschlagenen Lösungen hat für mich funktioniert, außer der Lösung von ArnaudA:
quelle
Viele Leute verbringen viel Zeit damit, Beschriftungen, Legendenbeschriftungen, Titel und die Namen der Achse zu ändern, weil sie nicht wissen, dass es möglich ist, Tabellen in R zu laden, die Leerzeichen enthalten
" "
. Sie können dies jedoch tun, um Zeit zu sparen oder die Größe Ihres Codes zu verringern, indem Sie die Trennzeichen angeben, wenn Sie eine Tabelle laden, die beispielsweise durch Tabulatoren (oder ein anderes Trennzeichen als das Standardtrennzeichen oder ein einzelnes Leerzeichen) begrenzt ist:oder indem Sie die Standardladeparameter des CSV-Formats verwenden:
Dies bedeutet, dass Sie den Namen direkt
"NEW LEGEND TITLE"
als Spaltennamen (Kopfzeile) in Ihrer ursprünglichen Datendatei behalten können, um zu vermeiden, dass in jedem Diagramm ein neuer Legendentitel angegeben wird.quelle
ggplot(df) + labs(legend = '<legend_title>')
quelle