Ggplot2에서 요소별로 색상을 할당하는 방법(예제 포함)


범주형 변수를 기반으로 ggplot2 플롯의 점에 색상을 할당하려는 경우가 종종 있습니다.

다행히도 다음 구문을 사용하면 쉽게 수행할 수 있습니다.

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

이 튜토리얼에서는 iris 라는 내장 R 데이터 세트를 사용하여 이 구문을 실제로 사용하는 방법에 대한 몇 가지 예를 제공합니다.

 #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

예 1: 기본 색상 사용

다음 코드는 Species 요인 변수를 기반으로 ggplot2 플롯의 점에 기본 색상을 할당하는 방법을 보여줍니다.

 library (ggplot2)

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

ggplot2의 요소별 색상

색상 스케일이나 사용자 정의 색상 목록을 지정하지 않았기 때문에 ggplot2는 단순히 기본 빨간색, 녹색 및 파란색 색상 목록을 포인트에 할당했습니다.

예 2: 사용자 정의 색상 사용

다음 코드는 scale_color_manual()을 사용하여 ggplot2 플롯의 점에 사용자 정의 색상을 할당하는 방법을 보여줍니다.

 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

색상을 지정하기 위해 16진수 색상 코드를 사용할 수도 있습니다.

예 3: 사용자 정의 색상 스케일 사용

다음 코드는 RColorBrewer 패키지의 사용자 정의 색상 스케일을 사용하여 ggplot2 플롯의 점에 사용자 정의 색상을 할당하는 방법을 보여줍니다.

 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

R의 RColorBrewer 예

추가 리소스

ggplot2에서 병렬 플롯을 만드는 방법
ggplot2에서 범례 제목을 변경하는 방법
최고의 ggplot2 테마에 대한 완벽한 가이드

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다