R の scale_colour_discrete 関数
胡金庫
2023年1月30日
-
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
著者: 胡金庫