La fonction scale_colour_discrete dans R

Jinku Hu 15 février 2024
  1. Utilisez scale_colour_discrete pour modifier les étiquettes d’échelle de colour dans R
  2. Utilisez scale_colour_discrete pour modifier le nom de l’échelle colour dans R
La fonction scale_colour_discrete dans R

Cet article présentera comment utiliser scale_colour_discrete dans R.

Utilisez scale_colour_discrete pour modifier les étiquettes d’échelle de colour dans R

scale_colour_discrete peut être utilisé pour modifier les étiquettes d’échelle de colour qui ont généralement besoin d’avoir des valeurs discrètes. Dans ce cas, nous montrons un exemple utilisant l’ensemble de données filtré babynames, à partir duquel seuls cinq noms sont extraits pour le rendre plus simple. Nous dessinons un tracé linéaire en utilisant geom_line. Les variables mappées sur l’axe x/y sont le nombre de bébés et l’année de leur naissance. Étant donné que les noms sont mappés sur l’échelle des colour, ils auront une légende où différentes couleurs sont mappées à chacun d’eux. En utilisant le paramètre labels de la fonction scale_colour_discrete, nous pouvons passer un vecteur de valeurs par lequel nous pouvons substituer les étiquettes d’échelle existantes.

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 dans r 1

Utilisez scale_colour_discrete pour modifier le nom de l’échelle colour dans R

Un autre paramètre utile de la fonction scale_colour_discrete est name, qui contrôle le titre de l’échelle colour. La valeur de chaîne personnalisée peut être affectée à l’argument name, ce qui entraîne un nom de légende modifié dans l’exemple de code suivant.

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 dans r 2

Le tracé précédent dessine toutes les lignes sur un seul panneau, mais nous pouvons afficher chaque ligne sur un autre à l’aide de la fonction facet_wrap. facet_wrap prend les variables qui doivent être mappées comme premier argument.

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 dans r 3

Auteur: 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

Article connexe - R Plot