So zeichnen Sie eine Legende außerhalb eines Plots in R

Von Fabian
Kategorie: R
Lesezeit: 2 Minuten

Der einfachste Weg, eine Legende außerhalb eines Plots in Base R zu zeichnen, ist das Hinzufügen von zusätzlichem Platz rechts neben dem Plot mit der folgenden Syntax:

par(mar=c(5, 4, 4, 8), xpd=TRUE)

Das folgende Schritt-für-Schritt-Beispiel zeigt, wie man diese Syntax in der Praxis verwendet.

Schritt 1: Erstellen der Daten

Zuerst erstellen wir einige Daten, mit denen wir arbeiten können:

#Dataframes erstellen
df1 <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7),
                  y=c(2, 7, 19, 26, 24, 29, 31))

df2 <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7),
                  y=c(4, 4, 7, 9, 12, 13, 8))

Schritt 2: Erstellen eines Plots mit einer Legende außerhalb des Plots

Als Nächstes erstellen wir einen Plot und fügen eine Legende außerhalb des Plots in der oberen rechten Ecke ein:

#Zusätzliches Leerzeichen rechts vom Plot einfügen
par(mar=c(5, 4, 4, 8), xpd=TRUE)

#Plotten beider Dataframes
plot(y ~ x, df1, pch=1, main="Scatterplot with multiple groups")
points(y ~ x, df2, pch=3)

#Legende außerhalb der Darstellung einfügen
legend("topright", inset=c(-0.2, 0), legend=c("df1","df2"), pch=c(1,3), title="Data")

Legende außerhalb eines Plots in Base R

Schritt 3: Ändern der Position der Legende

Das Argument inset(x, y) kann verwendet werden, um die Position der Legende auf der rechten Seite des Plots zu steuern. Wir können zum Beispiel das Argument x negativer setzen, um die Legende noch weiter nach rechts zu schieben:

#Zusätzlichen Platz rechts vom Plot einfügen
par(mar=c(5, 4, 4, 8), xpd=TRUE)

#Plot beider Dataframe
plot(y ~ x, df1, pch=1, main="Scatterplot with multiple groups")
points(y ~ x, df2, pch=3)

#Legende außerhalb der Darstellung einfügen
legend("topright", inset=c(-0.3, 0), legend=c("df1","df2"), pch=c(1,3), title="Data")

Lage der Legende außerhalb des Plots in R

Wir können auch das y-Argument positiver setzen, um die Legende tiefer zu setzen:

#Zusätzlichen Platz rechts von der Darstellung einfügen
par(mar=c(5, 4, 4, 8), xpd=TRUE)

#Plot beider Dataframe
plot(y ~ x, df1, pch=1, main="Scatterplot with multiple groups")
points(y ~ x, df2, pch=3)

#Legende außerhalb des Diagramms einfügen
legend("topright", inset=c(-0.3, .5), legend=c("df1","df2"), pch=c(1,3), title="Data")

Basisplot in R mit Legende rechts außerhalb des Plots

Fühlen Sie sich frei, die Werte im Argument inset(x, y) zu ändern, um die Position der Legende zu ändern.

Weitere R-Tutorials finden Sie auf dieser Seite.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: