R Graphics 낮은 수준의 그래프 함수 (6) 범례 추가 : legend(x, y, legend, ...)
R 분석과 프로그래밍/R 그래프_시각화 2016. 1. 10. 23:11지난번 포스팅에서는 그래프에 추가적인 정보를 입력하는 낮은 수준의 그래프 함수(low level graphic functions) 중에서
(1) 제목, XY축 Label 추가하는 title()
(2) XY축의 형태를 변환하는 axis(side, ...)
(3) 직선 연결, 추가 : lines(x, y), abline(a, b), abline(h=y), abline(v=x)
(4) 점 추가 : points(x, y)
(5) 문자 추가 : text(x, y, labels, ...), mtext()
에 대해서 알아보았습니다.
이번 포스팅에서는 낮은 수준의 그래프 함수 네번째로 (6) 범례 추가 : legend(x, y, legend, ...) 에 대해서 소개하겠습니다.
[ 낮은 수준의 그래프 함수 (Low level graphic function) ]
범례를 추가하는 legend()함수의 일반적인 사용법은 아래와 같습니다.
legend(x, y = NULL, legend, fill = NULL, col = par("col"), |
옵션이 굉장히 많지요? ^^; 그래프에 관한한 R 가지고 못하는게 거의 없다는게 바로 이런 겁니다. 그런데 이걸 다 설명하자니 시간이 너무 오래걸릴것 같기도 하고 대부분은 아마 거의 사용할 일이 없을 것 같기도 합니다. 그래서 많이 사용하는 옵션 위주로 몇 개만 선별해서 어려움없이 사용할 수 있는 정도로만 설명하겠습니다.
구분 |
옵션 기능 |
x, y |
범례를 추가할 위치를 설정하는 3가지 방법 (1) x, y 좌표를 입력하면 범례 사각형의 왼쪽 상단이 그 지점에 위치함 (2) locator(1)을 입력하면 커서를 가리키는 지점에 범례 생성 (3) 위치를 나타내는 아래의 9개 단어 중 하나를 선택해서 입력 : "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" and "center" |
legend |
길이가 1보다 큰 문자(character) 혹은 범례를 담은 벡터(expression vector) |
col |
색깔 지정 벡터 |
lty |
선 유형 지정 벡터 |
lwd |
선 두께 지정 벡터 |
pch |
기호 지정 벡터 |
... |
그래픽 모수 추가 설정 가능 |
MASS 패키지에 내장된 Cars93 데이터프레임의 차종(Type) 별로 차 무게(Weight)와 고속도로 연비 (MPG.highway) 변수를 사용해서 산포도를 그려보겠습니다. 그리고 차종(Type) 그룹에 대한 범례(legend)를 추가해보겠습니다.
(1) x, y 좌표를 직접 입력하여 범례 위치 설정
> # to use Cars93 dataframe > library(MASS) > > # scatter plot > attach(Cars93) > > # adding points with different characters by condition > plot(Weight, MPG.highway, type = 'n') # blank plot > > # Type = Compact > points(Weight[Type == "Compact"], MPG.highway[Type == "Compact"], pch = 0) > > # Type = Large > points(Weight[Type == "Large"], MPG.highway[Type == "Large"], pch = 1) > > # Type = Midsize > points(Weight[Type == "Midsize"], MPG.highway[Type == "Midsize"], pch = 17, col = "yellow") > > # Type = Small > points(Weight[Type == "Small"], MPG.highway[Type == "Small"], pch = 3) > > # Type = Sporty > points(Weight[Type == "Sporty"], MPG.highway[Type == "Sporty"], pch = 9) > > # Type = Van > points(Weight[Type == "Van"], MPG.highway[Type == "Van"], pch = 15, col = "blue") > > title("adding legend to the plot") > > > # adding legend to topright side > legend(x = 3500, y = 50, + c("Compact", "Large", "Midsize", "Small", "Sporty", "Van"), + col = c("black", "black", "yellow", "black", "black", "blue"), + pch = c(0, 1, 17, 3, 9, 15) + ) >
|
(2) 위치를 나타내는 말을 직접 입력하여 범례 위치 설정
> library(MASS) > # scatter plot > attach(Cars93) > # adding points with different characters by condition > plot(Weight, MPG.highway, type = 'n') # blank plot > # Type = Compact > points(Weight[Type == "Compact"], MPG.highway[Type == "Compact"], pch = 0) > > # Type = Large > points(Weight[Type == "Large"], MPG.highway[Type == "Large"], pch = 1) > > # Type = Midsize > points(Weight[Type == "Midsize"], MPG.highway[Type == "Midsize"], pch = 17, col = "yellow") > > # Type = Small > points(Weight[Type == "Small"], MPG.highway[Type == "Small"], pch = 3) > > # Type = Sporty > points(Weight[Type == "Sporty"], MPG.highway[Type == "Sporty"], pch = 9) > > # Type = Van > points(Weight[Type == "Van"], MPG.highway[Type == "Van"], pch = 15, col = "blue") > > title("adding points with different characters by Car Types") > > > # adding legend to topright side > legend("topright", + c("Compact", "Large", "Midsize", "Small", "Sporty", "Van"), + col = c("black", "black", "yellow", "black", "black", "blue"), + pch = c(0, 1, 17, 3, 9, 15) + ) >
> detach(Cars93)
|
다음번 포스팅에서는 다각형(polygon)을 추가하는 방법에 대해서 소개하겠습니다.
많은 도움 되었기를 바랍니다.
이번 포스팅이 도움이 되었다면 아래의 '공감 ~♡' 단추를 꾸욱 눌러주세요.^^