Zeichne Legendenelemente mit verschiedenen Farben in R

Jinku Hu 30 Januar 2023
  1. Verwenden Sie die Funktion legend, um Legenden zu Diagrammen in R . hinzuzufügen
  2. Verwenden Sie den doppelten “Legende”-Aufruf, um Legendenelemente mit verschiedenen Farben zu zeichnen
Zeichne Legendenelemente mit verschiedenen Farben in R

In diesem Artikel wird gezeigt, wie Legendenelemente mit unterschiedlichen Farben in R gezeichnet werden.

Verwenden Sie die Funktion legend, um Legenden zu Diagrammen in R . hinzuzufügen

Mit der Funktion legend werden Legendenobjekte auf den Plots gezeichnet. Es braucht die Koordinaten x und y als die ersten beiden Argumente, um die Position der Legende anzugeben. Er kann jedoch mit Schlüsselwörtern wie "left", "bottomright" usw. angegeben werden. Der nächste Parameter heißt legend und wird als Vektor von Zeichen dargestellt, die in der Legende angezeigt werden müssen . In diesem Fall zeichnen wir Linien und Punkte, die durch eine Dreiecks- oder Kreisform gekennzeichnet sind. Linien und Punkte haben unterschiedliche Farben und müssen entsprechend in der Legende dargestellt werden. Der folgende Codeausschnitt zeichnet nur Formen und Text in der Legende.

library(ggplot2)

plot( 0, type = "n", xlim = c(0,5), ylim = c(0,5) )
A <- matrix( c( c(4,1,3,2), c(1,3,4,4)), ncol = 2 )
B <- matrix( c( c(1,4,3,2), c(1,3,1,1)), ncol = 2 )

lines( A, col = "brown" )
points( A, col = "blue", pch = 17 )
lines( B, col = "cyan" )
points( B, col = "purple", pch = 19 )


legend( x = "topleft",
        legend = c("Brown line, blue triangles","Cyan line, purple points"),
        col = c("blue","purple"), lwd = 2, lty = c(0,0),
        pch = c(17,19) )

r Plotlegende 1

Wir können auch Zeilen hinzufügen, indem wir die Werte des Argumentvektors lty erhöhen. Beachten Sie, dass Einsen der geraden und ununterbrochenen Linie entsprechen. Andererseits stellen pch-Argumente die Zeichensymbole dar, die auf 0:25-Integer-Werte abgebildet werden und in der Dokumentation der Funktion points beschrieben sind.

library(ggplot2)

plot( 0, type = "n", xlim = c(0,5), ylim = c(0,5) )
A <- matrix( c( c(4,1,3,2), c(1,3,4,4)), ncol = 2 )
B <- matrix( c( c(1,4,3,2), c(1,3,1,1)), ncol = 2 )

lines( A, col = "brown" )
points( A, col = "blue", pch = 17 )
lines( B, col = "cyan" )
points( B, col = "purple", pch = 19 )

legend( x = "topleft",
        legend = c("Brown line, blue triangles","Cyan line, purple points"),
        col = c("brown","cyan"), lwd = 1, lty = c(1,1),
        pch = c(17,19), merge = FALSE)

r Plotlegende 2

Verwenden Sie den doppelten “Legende”-Aufruf, um Legendenelemente mit verschiedenen Farben zu zeichnen

Im vorherigen Beispiel werden die Linien und Formen eines einzelnen Elements mit derselben Farbe angezeigt. Dies kann durch die beiden Aufrufe der Funktion legend gelöst werden, die jeweils Linien und Formen separat mit unterschiedlichen Farben darstellen. Beachten Sie jedoch, dass einer der Aufrufe leere Vektorwerte für den Parameter legend haben sollte.

library(ggplot2)

plot( 0, type = "n", xlim = c(0,5), ylim = c(0,5) )
A <- matrix( c( c(4,1,3,2), c(1,3,4,4)), ncol = 2 )
B <- matrix( c( c(1,4,3,2), c(1,3,1,1)), ncol = 2 )

lines( A, col = "brown" )
points( A, col = "blue", pch = 17 )
lines( B, col = "cyan" )
points( B, col = "purple", pch = 19 )


legend( x = "topleft",
        legend = c("Brown line, blue triangles","Cyan line, purple points"),
        col = c("brown","cyan"), lwd = 1, lty = c(1,1),
       pch = c(NA,NA) )

legend( x = "topleft",
        legend = c("",""),
        col = c("blue","purple"), lwd = 1, lty = c(0,0),
        pch = c(17,19), bty= 'n')

r Plotlegende 3

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - R Plot