So erstellen sie eine manuelle legende in ggplot2 (mit beispielen)
Häufig möchten Sie möglicherweise eine manuelle Legende zu einem Plot in ggplot2 mit benutzerdefinierten Farben, Beschriftungen, Titeln usw. hinzufügen.
Glücklicherweise ist dies mit der Funktion „scale_color_manual()“ einfach zu bewerkstelligen, und das folgende Beispiel zeigt, wie es geht.
Beispiel: Erstellen einer manuellen Legende in ggplot2
Der folgende Code zeigt, wie drei angepasste Regressionslinien in einem Diagramm in ggplot2 mit einer benutzerdefinierten manuellen Legende dargestellt werden:
library (ggplot2)
#create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
geom_point() +
geom_smooth(se= FALSE , aes(color=' Linear ')) +
geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color=' Quadratic ')) +
geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color=' Cubic ')) +
scale_color_manual(name=' Regression Model ',
breaks=c(' Linear ', ' Quadratic ', ' Cubic '),
values=c(' Cubic '=' pink ', ' Quadratic '=' blue ', ' Linear '=' purple '))
Mithilfe der Funktion „scale_color_manual()“ konnten wir die folgenden Aspekte der Legende spezifizieren:
- name : Der Titel der Legende
- breaks : Beschriftungen in der Legende
- Werte : Die Farben in der Legende
Beachten Sie, dass wir auch die Funktion theme() verwenden können, um die Schriftgröße von Legendenelementen zu ändern:
library (ggplot2)
#create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
geom_point() +
geom_smooth(se= FALSE , aes(color=' Linear ')) +
geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color=' Quadratic ')) +
geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color=' Cubic ')) +
scale_color_manual(name=' Regression Model ',
breaks=c(' Linear ', ' Quadratic ', ' Cubic '),
values=c(' Cubic '=' pink ', ' Quadratic '=' blue ', ' Linear '=' purple '))+
theme(legend. title =element_text(size= 20 ),
legend. text =element_text(size= 14 ))
Beachten Sie, dass die Schriftgröße der Titel- und Beschriftungsbeschriftungen erhöht wurde.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in ggplot2 ausführen:
So ändern Sie die Legendenposition in ggplot2
So ändern Sie die Legendengröße in ggplot2
So ändern Sie den Legendentitel in ggplot2
So ändern Sie Legendenbeschriftungen in ggplot2