So fügen sie in ggplot2 eine horizontale linie zum diagramm und zur legende hinzu
Sie können die folgende Syntax verwenden, um eine horizontale Linie zu einem Diagramm in ggplot2 hinzuzufügen und dann auch die horizontale Linie als Element in der Legende hinzuzufügen:
library (ggplot2) #create data frame with values to plot df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Indem wir einen separaten Datenrahmen erstellen, der nur den Y-Achsenabschnittswert der horizontalen Linie enthält, können wir die horizontale Linie zum Diagramm hinzufügen und sie automatisch zur Legende hinzufügen.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Fügen Sie dem Plot und der Legende in ggplot2 eine horizontale Linie hinzu
Angenommen, wir haben den folgenden Datenrahmen in R, der Informationen über Basketballspieler verschiedener Teams enthält:
#create data frame df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #view data frame df team assists points 1 To 1 4 2 to 3 8 3 to 3 12 4 to 4 10 5 to 5 18 6 B 7 25 7 B 7 20 8 B 9 28 9 B 9 33 10 B 10 35
Nehmen wir an, wir möchten in ggplot2 ein Streudiagramm erstellen, um die Punkt- und Unterstützungswerte für jeden Spieler basierend auf seinem Team zu visualisieren, und dann eine horizontale Linie bei y = 22 hinzufügen, um einen „Schwellenwert“ für die Differenz zwischen Gut und Böse zu definieren Spieler.
Wir können dazu die folgende Syntax verwenden:
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Beachten Sie, dass die Legende rechts neben dem Diagramm Kreise enthält, die angeben, welche Punkte auf dem Diagramm zu welchen Teams gehören. Außerdem wurde der Legende eine horizontale Linie hinzugefügt, um die Grenzlinie darzustellen.
Wenn Sie die Beschriftung der horizontalen Linie in der Legende ändern möchten, bearbeiten Sie einfach den Text in der Spalte „Zeilen“ im Break Data Frame.
Beispielsweise können wir die folgende Syntax verwenden, um die Bezeichnung der horizontalen Linie in „Gut-gegen-Böse-Schwelle“ zu ändern:
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff of Good vs. Bad ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Beachten Sie, dass sich die Beschriftung der horizontalen Linie in der Legende geändert hat.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in ggplot2 ausführen:
So ändern Sie den Legendentitel in ggplot2
So ändern Sie die Legendengröße in ggplot2
So ändern Sie die Legendenposition in ggplot2