Ggplot2에서 바이올린 플롯을 만드는 방법(예제 포함)
다음 방법을 사용하여 ggplot2에서 바이올린 플롯을 만들 수 있습니다.
방법 1: 그룹별로 바이올린 플롯 만들기
ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) +
geom_violin() +
방법 2: 그룹별로 수평 바이올린 경로 만들기
ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) +
geom_violin() +
coordinate_flip()
방법 3: 그룹별로 바이올린 플롯을 생성하고 중앙값 표시
ggplot(df, aes(x=group_var, y=values_var, fill=group_var)) +
geom_violin() +
stat_summary(fun=median, geom=' point ', size= 2 )
다음 예에서는 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
참고 : 이 예제가 재현 가능한지 확인하기 위해 set.seed() 함수를 사용했습니다.
예 1: 그룹별로 바이올린 추적 만들기
다음 구문을 사용하여 팀 변수별로 그룹화된 포인트 변수의 분포를 보여주는 바이올린 플롯을 만들 수 있습니다.
library (ggplot2)
#create violin plot to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) +
geom_violin()
x축은 각 팀을 나타내고, y축은 각 팀이 득점한 점수 분포를 나타냅니다.
예 2: 그룹별로 바이올린 트레이스 생성
팀 변수별로 그룹화된 points 변수의 분포를 표시하는 수평 바이올린 플롯을 생성하려면 coord_flip() 함수를 추가하기만 하면 됩니다.
library (ggplot2)
#create horizontal violin plots to visualize distribution of points by team
ggplot(df, aes(x=team, y=points, fill=team)) +
geom_violin() +
coordinate_flip()
y축은 각 팀을 나타내고, x축은 각 팀이 득점한 점수 분포를 나타냅니다.
예 3: 그룹별로 바이올린 플롯을 생성하고 중앙값 표시
다음 코드는 팀 변수로 그룹화된 포인트 변수의 분포를 표시하는 바이올린 플롯을 생성하는 방법을 보여줍니다. 중앙값은 원으로 표시됩니다.
library (ggplot2)
#create violin plots and display median points value as circle
ggplot(df, aes(x=team, y=points, fill=team)) +
geom_violin() +
stat_summary(fun=median, geom=' point ', size= 2 )
각 팀의 중앙값은 각 바이올린 플롯 내부에 작은 원으로 표시됩니다.
참고 : 원의 크기를 늘리려면 stat_summary() 함수의 크기 인수 값을 늘리면 됩니다.
추가 리소스
다음 튜토리얼에서는 ggplot2에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
ggplot2에서 글꼴 크기를 변경하는 방법
ggplot2에서 범례를 제거하는 방법
ggplot2에서 축 레이블을 회전하는 방법