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()
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
R에서 상대 빈도 히스토그램을 만드는 방법
R의 단일 그래프에 여러 상자 그림을 그리는 방법
R의 그래프에 여러 선을 그리는 방법