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() 

ggplot2의 수평 바이올린 플롯

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 ) 

ggplot2의 바이올린 플롯

각 팀의 중앙값은 각 바이올린 플롯 내부에 작은 원으로 표시됩니다.

참고 : 원의 크기를 늘리려면 stat_summary() 함수의 크기 인수 값을 늘리면 됩니다.

추가 리소스

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

ggplot2에서 글꼴 크기를 변경하는 방법
ggplot2에서 범례를 제거하는 방법
ggplot2에서 축 레이블을 회전하는 방법

의견을 추가하다

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