Функция scale_colour_discrete в R

  1. Используйте scale_colour_discrete, чтобы изменить colour метки шкалы в R
  2. Используйте scale_colour_discrete, чтобы изменить имя шкалы colour в R

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

Используйте scale_colour_discrete, чтобы изменить colour метки шкалы в R

scale_colour_discrete может использоваться для изменения меток шкалы цвета, которые обычно должны иметь дискретные значения. В этом случае мы демонстрируем пример с использованием отфильтрованного набора данных babynames, из которого для упрощения извлекаются только пять имен. Мы рисуем линейный график, используя geom_line. Сопоставленные переменные на оси x /y - это количество младенцев и годы, в которых они родились. Поскольку имена сопоставлены с шкалой цвета, они будут иметь легенду, в которой каждому сопоставлен свой цвет. их. Используя параметр labels функции scale_colour_discrete, мы можем передать вектор значений, которыми мы можем заменить существующие метки шкалы.

library(ggplot2)
library(gridExtra)
library(babynames)
library(dplyr)

dat <- babynames %>%
  filter(name %in% c("Alice", "Maude", "Mae",
                     "Annie", "Ella")) %>% filter(sex=="F")

p3 <- ggplot(dat, aes(x = year, y = n, colour = name)) +
  geom_line() +
  scale_colour_discrete(
    labels = c("Al", "Mau", "Mae", "An", "El")) +
  scale_y_continuous(
    breaks = seq(0, 13000, 1000),
    name = "Number of babies") +
  scale_x_continuous(
    breaks = seq(1880, 2017, 12),
    name = "Year") +
  theme(
    legend.position = "left",
    legend.background = element_rect(fill = "white", colour = "black"),
    plot.title = element_text(
      size = rel(1.2), lineheight = .9,
      family = "Calibri", face = "bold", colour = "brown"
    )) +
  ggtitle("Name Popularity Through Years")

p3

scale_colour_discrete в r 1

Используйте scale_colour_discrete, чтобы изменить имя шкалы colour в R

Еще один полезный параметр функции scale_colour_discrete - name, который управляет заголовком colour шкалы. Настраиваемое строковое значение может быть присвоено аргументу name, что приводит к изменению имени легенды в следующем примере кода.

library(ggplot2)
library(gridExtra)
library(babynames)
library(dplyr)

dat <- babynames %>%
  filter(name %in% c("Alice", "Maude", "Mae",
                     "Annie", "Ella")) %>% filter(sex=="F")

p3 <- ggplot(dat, aes(x = year, y = n, colour = name)) +
  geom_line() +
  scale_colour_discrete(
    name = "Name",
    labels = c("Al", "Mau", "Mae", "An", "El")) +
  scale_y_continuous(
    breaks = seq(0, 13000, 1000),
    name = "Number of babies") +
  scale_x_continuous(
    breaks = seq(1880, 2017, 12),
    name = "Year") +
  theme(
    legend.position = "left",
    legend.background = element_rect(fill = "white", colour = "black"),
    plot.title = element_text(
      size = rel(1.2), lineheight = .9,
      family = "Calibri", face = "bold", colour = "brown"
    )) +
  ggtitle("Name Popularity Through Years")


p3

scale_colour_discrete в r 2

Предыдущий график рисует все линии на одной панели, но мы можем вывести каждую строку на отдельной, используя функцию facet_wrap. facet_wrap принимает переменные, которые необходимо сопоставить, в качестве первого аргумента.

library(ggplot2)
library(gridExtra)
library(babynames)
library(dplyr)

dat <- babynames %>%
  filter(name %in% c("Alice", "Maude", "Mae",
                     "Annie", "Ella")) %>% filter(sex=="F")

p4 <- ggplot(dat, aes(x = year, y = n, colour = name)) +
  geom_line() +
  scale_colour_discrete(
    name = "Name",
    labels = c("Al", "Mau", "Mae", "An", "El")) +
  scale_y_continuous(
    breaks = seq(0, 13000, 1000),
    name = "Number of babies") +
  scale_x_continuous(
    breaks = seq(1880, 2017, 12),
    name = "Year") +
  theme(
    legend.position = "left",
    legend.background = element_rect(fill = "white", colour = "black"),
    plot.title = element_text(
      size = rel(1.2), lineheight = .9,
      family = "Calibri", face = "bold", colour = "brown"
    )) +
  ggtitle("Name Popularity Through Years") +
  facet_wrap(vars(name))

p4

scale_colour_discrete в r 3

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

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