Die scale_colour_discrete Funktion in R

Jinku Hu 15 Februar 2024
  1. Verwenden Sie scale_colour_discrete, um colour-Skalenbeschriftungen in R . zu ändern
  2. Verwenden Sie scale_colour_discrete, um den Skalennamen colour in R . zu ändern
Die scale_colour_discrete Funktion in R

In diesem Artikel wird die Verwendung von scale_colour_discrete in R vorgestellt.

Verwenden Sie scale_colour_discrete, um colour-Skalenbeschriftungen in R . zu ändern

scale_colour_discrete kann verwendet werden, um colour-Skalenbeschriftungen zu ändern, die im Allgemeinen diskrete Werte haben müssen. In diesem Fall demonstrieren wir ein Beispiel mit dem gefilterten Datensatz babynames, aus dem nur fünf Namen extrahiert werden, um es einfacher zu machen. Wir zeichnen ein Liniendiagramm mit geom_line. Zugeordnete Variablen auf der x/y-Achse sind die Anzahl der Babys und die Jahre, in denen sie geboren wurden. Da die Namen der colour zugeordnet sind, haben sie eine Legende, in der jedem unterschiedliche Farben zugeordnet sind von ihnen. Mit dem Parameter labels der Funktion scale_colour_discrete können wir einen Vektor von Werten übergeben, durch den wir die vorhandenen Skalenbeschriftungen ersetzen können.

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

Verwenden Sie scale_colour_discrete, um den Skalennamen colour in R . zu ändern

Ein weiterer nützlicher Parameter der Funktion scale_colour_discrete ist name, der den Skalentitel colour steuert. Der benutzerdefinierte Zeichenkettenwert kann dem Argument name zugewiesen werden, was im folgenden Beispielcode zu einem geänderten Legendennamen führt.

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

Der vorherige Plot zeichnet alle Linien auf einem einzigen Panel, aber wir können jede Linie mit der Funktion facet_wrap auf einem separaten ausgeben. facet_wrap nimmt als erstes Argument die Variablen, die gemappt werden müssen.

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 in r 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