Нарисуйте элементы легенды разными цветами в R

  1. Используйте функцию legend, чтобы добавить легенду к графикам в R
  2. Используйте двойной вызов legend, чтобы рисовать элементы легенды разными цветами

В этой статье будет показано, как рисовать элементы легенды разными цветами в R.

Используйте функцию legend, чтобы добавить легенду к графикам в R

Функция legend используется для рисования объектов легенды на графиках. Для определения позиции легенды в качестве первых двух аргументов используются координаты x и y. Хотя его можно указать с помощью таких ключевых слов, как: "left", "bottomright" и т. Д. Следующий параметр называется 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("blue","purple"), lwd = 2, lty = c(0,0),
        pch = c(17,19) )

п сюжетная легенда 1

Мы также можем добавлять строки, увеличивая значения вектора аргументов lty. Обратите внимание, что единицы соответствуют прямой и непрерывной линии. С другой стороны, аргументы pch представляют символы построения, которые отображаются в целочисленные значения 0:25 и описаны в документации функции 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)

сюжетная легенда 2

Используйте двойной вызов legend, чтобы рисовать элементы легенды разными цветами

В предыдущем примере линии и формы одного элемента отображаются одинаковым цветом. Это может быть решено двумя вызовами функции legend, каждый из которых отображает линии и фигуры отдельно с разными цветами. Однако помните, что один из вызовов должен иметь пустые векторные значения для параметра 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')

сюжетная легенда 3

Сопутствующая статья - R Plot

  • Добавить прозрачный прямоугольник на коробчатую диаграмму в R
  • Создавайте бок о бок Boxplots в R
  • Функция scale_colour_discrete в R
  • Функция scale_x_discrete в R