R の scale_colour_discrete 関数
-
scale_colour_discreteを使用して、R のcolourスケールラベルを変更する -
scale_colour_discreteを使用して、R のcolourスケール名を変更する
この記事では、R で scale_colour_discrete を使用する方法を紹介します。
scale_colour_discrete を使用して、R の colour スケールラベルを変更する
scale_colour_discrete は、一般に離散値を持つ必要がある colour スケールラベルを変更するために使用できます。この場合、フィルタリングされた babynames データセットを使用した例を示します。このデータセットからは、より簡単にするために 5つの名前のみが抽出されます。geom_line を使用して折れ線グラフを描画します。x /y 軸にマッピングされた変数は、赤ちゃんの数と生まれた年です。名前は colour スケールにマッピングされているため、それぞれに異なる色がマッピングされているという凡例があります。そのうちの。scale_colour_discrete 関数の labels パラメータを使用して、既存のスケールラベルを置き換えることができる値のベクトルを渡すことができます。
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 の colour スケール名を変更する
scale_colour_discrete 関数のもう 1つの便利なパラメーターは、colour スケールタイトルを制御する name です。カスタム文字列値を 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

前のプロットはすべての線を単一のパネルに描画しますが、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

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: 胡金庫
