Cara menetapkan warna berdasarkan faktor di ggplot2 (dengan contoh)


Seringkali Anda mungkin ingin menetapkan warna ke titik-titik di plot ggplot2 berdasarkan variabel kategori.

Untungnya, hal ini mudah dilakukan dengan menggunakan sintaks berikut:

 ggplot(df, aes (x=x_variable, y=y_variable, color=color_variable)) +
  geom_point()

Tutorial ini memberikan beberapa contoh cara praktis menggunakan sintaks ini menggunakan dataset R bawaan yang disebut iris :

 #view first six rows of iris dataset
head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

Contoh 1: Gunakan warna default

Kode berikut menunjukkan cara menetapkan warna default ke titik dalam plot ggplot2 berdasarkan variabel faktorial Spesies :

 library (ggplot2)

ggplot(iris, aes (x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() 

warna berdasarkan faktor di ggplot2

Karena kami tidak menentukan skala warna atau daftar warna khusus, ggplot2 hanya menetapkan daftar warna merah, hijau, dan biru default ke titik-titik tersebut.

Contoh 2: Gunakan warna khusus

Kode berikut menunjukkan cara menetapkan warna khusus ke titik di plot ggplot2 menggunakan scale_color_manual() :

 library (ggplot2)

ggplot(iris, aes (x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() +
  scale_color_manual( values = c(" setosa " = " purple ",
                                " versicolor =" orange ",
                                " virginica "=" steelblue ")) 

ggplot2 dengan warna khusus untuk variabel kategori

Perhatikan bahwa kita juga bisa menggunakan kode warna heksadesimal untuk menentukan warna.

Contoh 3: Gunakan skala warna khusus

Kode berikut menunjukkan cara menetapkan warna khusus ke titik di plot ggplot2 menggunakan skala warna khusus dari paket RColorBrewer :

 library (ggplot2)
library (RColorBrewer)

#define custom color scale
myColors <- brewer. pal (3, " Spectral ")
names(myColors) <- levels(iris$Species)
custom_colors <- scale_color_manual(name = " Species Names ", values = myColors)

ggplot(iris, aes (x=Sepal.Length, y=Sepal.Width, color=Species)) +
  geom_point() +
  custom_colors

Contoh RColorBrewer di R

Sumber daya tambahan

Cara membuat plot berdampingan di ggplot2
Bagaimana cara mengubah judul legenda di ggplot2
Panduan lengkap tema ggplot2 terbaik

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *