Ggplot2의 플롯과 범례에 수평선을 추가하는 방법
다음 구문을 사용하여 ggplot2의 플롯에 수평선을 추가한 다음 범례의 요소로 수평선을 추가할 수도 있습니다.
library (ggplot2) #create data frame with values to plot df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
수평선의 y 절편 값만 포함하는 별도의 데이터 프레임을 생성하면 수평선을 플롯에 추가하고 자동으로 범례에 추가할 수 있습니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: ggplot2의 플롯과 범례에 수평선 추가
서로 다른 팀의 농구 선수에 대한 정보를 포함하는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.
#create data frame df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #view data frame df team assists points 1 To 1 4 2 to 3 8 3 to 3 12 4 to 4 10 5 to 5 18 6 B 7 25 7 B 7 20 8 B 9 28 9 B 9 33 10 B 10 35
ggplot2에서 산점도를 생성하여 팀을 기반으로 각 플레이어의 포인트 및 어시스트 값을 시각화한 다음 y = 22에 수평선을 추가하여 좋은 점과 나쁜 점의 차이에 대한 “임계값”을 정의한다고 가정해 보겠습니다. 플레이어.
이를 위해 다음 구문을 사용할 수 있습니다.
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
플롯 오른쪽의 범례에는 플롯의 어느 지점이 어느 팀에 속하는지를 나타내는 원이 포함되어 있으며, 컷오프 라인을 나타내기 위해 범례에 수평선도 추가되었습니다.
범례의 가로줄 캡션을 변경하려면 데이터 프레임 분할 의 행 열에 있는 텍스트를 편집하면 됩니다.
예를 들어, 다음 구문을 사용하여 수평선의 레이블을 “좋은 대 악한 임계값”으로 변경할 수 있습니다.
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff of Good vs. Bad ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
범례의 수평선 레이블이 변경되었습니다.
추가 리소스
다음 튜토리얼에서는 ggplot2에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
ggplot2에서 범례 제목을 변경하는 방법
ggplot2에서 범례 크기를 변경하는 방법
ggplot2에서 범례 위치를 변경하는 방법