Dibujar elementos de leyenda con diferentes colores en R

Jinku Hu 30 enero 2023
  1. Utilice la función legend para agregar leyenda a los gráficos en R
  2. Utilice la llamada doble de legend para dibujar elementos de leyenda con diferentes colores
Dibujar elementos de leyenda con diferentes colores en R

Este artículo demostrará cómo dibujar elementos de leyenda con diferentes colores en R.

Utilice la función legend para agregar leyenda a los gráficos en R

La función legend se utiliza para dibujar objetos de leyenda en los gráficos. Toma las coordenadas x e y como los dos primeros argumentos para especificar la posición de la leyenda. Aunque, se puede especificar usando palabras clave como: "left", "bottomright", etc. El siguiente parámetro se llama legend, y se representa como un vector de caracteres que deben mostrarse en la leyenda. . En este caso, dibujamos líneas y puntos indicados por una forma de triángulo o círculo. Las líneas y los puntos tienen colores diferentes y deben mostrarse en la leyenda en consecuencia. El siguiente fragmento de código dibuja solo formas y texto en la leyenda.

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 leyenda de la trama 1

También podemos agregar líneas aumentando los valores del vector de argumento lty. Observe que unos corresponden a la línea recta e ininterrumpida. Por otro lado, los argumentos pch representan los símbolos de trazado que se asignan a valores enteros 0:25 y se describen en la documentación de la función points.

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 leyenda de la trama 2

Utilice la llamada doble de legend para dibujar elementos de leyenda con diferentes colores

El ejemplo anterior muestra las líneas y formas de un solo elemento con el mismo color. Esto puede resolverse mediante las dos invocaciones de la función legend, cada una de las cuales muestra líneas y formas por separado con diferentes colores. Sin embargo, tenga en cuenta que una de las llamadas debe tener valores vectoriales vacíos para el parámetro legend.

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 leyenda de la trama 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

Artículo relacionado - R Plot