Ggplot2에서 그룹별로 히스토그램을 만드는 방법(예제 포함)


다음 기본 구문을 사용하여 ggplot2에서 그룹별 히스토그램을 만들 수 있습니다.

 ggplot(df, aes(x=values_var, fill=group_var)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple '))

이 특정 예는 빨간색, 파란색, 보라색의 세 가지 겹치는 히스토그램이 있는 플롯을 만듭니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: ggplot2에서 그룹별 히스토그램 만들기

서로 다른 세 팀의 농구 선수가 득점한 점수에 대한 정보가 포함된 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.

 #make this example reproducible
set. seeds (1)

#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each=100),
                 points=c(rnorm(100, mean=10),
                          rnorm(100, mean=15),
                          rnorm(100, mean=20)))

#view head of data frame
head(df)

  team points
1 A 9.373546
2 A 10.183643
3 A 9.164371
4 A 11.595281
5 A 10.329508
6 A 9.179532

다음 코드를 사용하여 세 팀 각각이 득점한 점수 분포를 표시하는 히스토그램을 만들 수 있습니다.

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) 

세 개의 히스토그램은 각 팀의 선수가 득점한 점수 분포를 나타냅니다.

플롯 오른쪽의 범례는 각 팀에 해당하는 색상을 보여줍니다.

color 인수는 각 히스토그램의 막대 윤곽선 색상을 지정하고 alpha 인수는 막대에 사용할 투명도(0에서 1 사이)를 지정합니다.

알파 값을 1보다 작게 설정하면 히스토그램 사이에 겹치는 막대를 볼 수 있습니다.

labs() 함수를 사용하여 플롯의 레이블을 수정하고 스타일에 맞는 ggplot2 테마를 선택하세요.

 library (ggplot2)

#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
  geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
  scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) +
  labs(fill=' Team ', x=' Points Scored ', y=' Count ', title=' Points Scored by Team ') +
  theme_classic() 

그룹별 ggplot2 히스토그램

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 상대 빈도 히스토그램을 만드는 방법
R의 단일 그래프에 여러 상자 그림을 그리는 방법
R의 그래프에 여러 선을 그리는 방법

의견을 추가하다

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