지난번 포스팅에서 R 그래프 모수 (Graphical Parameters)를 설정하는 2가지 방법(par(), arguments)에 대해서 소개하였습니다.


이번 포스팅에서는 그래프 모수의 기호, 선 모수 설정에 대해서 하나씩 예를 들어보면서 자세히 설명해보겠습니다.

(그래프 모수가 70여 가지가 되므로 모두를 설명하기에는 무리가 있으며, 자주 사용하는 것들 위주로 선별해서 소개합니다. ?par 로 도움말을 찾아보시면 모든 그래프 모수에 대한 도움말을 검색할 수 있습니다)



  • 기호 (plotting symbols, characters) : pch=
그래픽 모수 pch 를 사용해서 다양한 모양의 기호, 상징을 그릴 수 있습니다.  디폴트는 pch=1 로서 속이 빈 원 모양이며, 아래의 pch 그래픽 모수 숫자별 모양을 참고해서 원하는 모양의 숫자를 pch = '숫자' 로 입력하면 되겠습니다.





MASS 패키지 내 Cars93 데이터프레임의 차 무게(Weight)와 고속도로연비(MPG.highway) 변수를 가지고 산포도 그래프를 아래와 같이 그려보았습니다. pch=1 ~ pch=6 까지 6개만 예로 들어보았습니다.

> ## symbol and character of plotting : pch=
> library(MASS)
> 
> par(mfrow = c(3,2))
> 
> 
> plot(MPG.highway ~ Weight, data = Cars93, pch = 1, main = "pch = 1")
> plot(MPG.highway ~ Weight, data = Cars93, pch = 2, main = "pch = 2")
> plot(MPG.highway ~ Weight, data = Cars93, pch = 3, main = "pch = 3")
> plot(MPG.highway ~ Weight, data = Cars93, pch = 4, main = "pch = 4")
> plot(MPG.highway ~ Weight, data = Cars93, pch = 5, main = "pch = 5")
> plot(MPG.highway ~ Weight, data = Cars93, pch = 6, main = "pch = 6")
> 
> par(mfrow = c(1,1))



 



  • 기호 직접 입력하는 방법 (specifying character directly)
pch = 1 처럼 숫자를 입력하는 방법 말고도 pch = '$', pch = '%', pch = '*'처럼 기호를 직접 pch 다음에 직접 입력해도 됩니다.


> ## specifying character directly
> par(mfrow = c(1,3))
> plot(MPG.highway ~ Weight, data = Cars93, pch = '$', main = "pch = '$' ")
> plot(MPG.highway ~ Weight, data = Cars93, pch = '%', main = "pch = '%' ")
> plot(MPG.highway ~ Weight, data = Cars93, pch = '*', main = "pch = '*' ")


 





  • 기호의 크기 : cex
cex는 기호의 크기를 지정할 때 사용합니다.  cex=1 이 디폴트 크기이며, cex 다음에 입력하는 숫자는 디폴트 대비 상대적인 크기를 나타냅니다.

> ## symbol size : cex > par(mfrow = c(2, 3)) # plot display by 2 row and 3 column > plot(MPG.highway ~ Weight, data = Cars93, pch = 19, cex = 0.5, main = "cex = 0.5") > plot(MPG.highway ~ Weight, data = Cars93, pch = 19, cex = 1, main = "cex = 1 (default)") > plot(MPG.highway ~ Weight, data = Cars93, pch = 19, cex = 1.5, main = "cex = 1.5") > plot(MPG.highway ~ Weight, data = Cars93, pch = 19, cex = 2, main = "cex = 2") > plot(MPG.highway ~ Weight, data = Cars93, pch = 19, cex = 3, main = "cex = 3") > plot(MPG.highway ~ Weight, data = Cars93, pch = 19, cex = 4, main = "cex = 4")


 




  • 선 유형 (line types) : lty
R 그래프 모수에서 제공하는 유형에는 아래과 같이 6개가 있습니다.


> ## line types : lty
> 
> # ordering by Weight
> Cars93_order <- Cars93[order(Cars93$Weight),]
> 
> par(mfrow = c(2, 3)) # plot layout by 2 row and 3 column
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lty = 1, main = "lty = 1")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lty = 2, main = "lty = 2")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lty = 3, main = "lty = 3")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lty = 4, main = "lty = 4")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lty = 5, main = "lty = 5")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lty = 6, main = "lty = 6")



 



  • 선 두께 (line width) : lwd
선 두께를 조절하는 그래프 모수는 lwd 입니다. lwd = 1 이 디폴트 값이며, 이 숫자를 기준으로 숫자만큼 선 두께가 배수가 됩니다.  아래에 lwd = 0.5, 1, 2, 3, 4, 5 별로 선 두께가 어떻게 변화하는지 예를 들어보았습니다.  참고로, plot(x, y, dataset, type = "l") 로 하면 선 그래프 (line plot)를 그릴 수 있습니다.

> ## line width : lwd
> 
> # ordering by Weight
> Cars93_order <- Cars93[order(Cars93$Weight),]
> 
> par(mfrow = c(2, 3)) # plot display by 2 row and 3 column
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lwd = 0.5, main = "lwd = 0.5")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lwd = 1, main = "lwd = 1 (default)")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lwd = 2, main = "lwd = 2")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lwd = 3, main = "lwd = 3")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lwd = 4, main = "lwd = 4")
> plot(MPG.highway ~ Weight, data = Cars93_order, type = "l", lwd = 5, main = "lwd = 5")



 



  • 현재 그래프 모수 확인 (checking current graphical parameter settings) : par()
참고로, par() 함수를 쓰면 현재의 그래프 모수를 확인해볼 수 있습니다. 갯수를 세어보니 총 72개 graphical parameter 가 있네요. 

> # to see current graphical parameter settings
> par()
$xlog
[1] FALSE

$ylog
[1] FALSE

$adj
[1] 0.5

$ann
[1] TRUE

$ask
[1] FALSE

$bg
[1] "white"

$bty
[1] "o"

$cex
[1] 1

$cex.axis
[1] 1

$cex.lab
[1] 1

$cex.main
[1] 1.2

$cex.sub
[1] 1

$cin
[1] 0.2000000 0.2666667

$col
[1] "black"

$col.axis
[1] "black"

$col.lab
[1] "black"

$col.main
[1] "black"

$col.sub
[1] "black"

$cra
[1] 14.4 19.2

$crt
[1] 0

$csi
[1] 0.2666667

$cxy
[1] 0.02623142 0.05008347

$din
[1] 9.277778 7.777778

$err
[1] 0

$family
[1] ""

$fg
[1] "black"

$fig
[1] 0 1 0 1

$fin
[1] 9.277778 7.777778

$font
[1] 1

$font.axis
[1] 1

$font.lab
[1] 1

$font.main
[1] 2

$font.sub
[1] 1

$lab
[1] 5 5 7

$las
[1] 0

$lend
[1] "round"

$lheight
[1] 1

$ljoin
[1] "round"

$lmitre
[1] 10

$lty
[1] "solid"

$lwd
[1] 1

$mai
[1] 1.360000 1.093333 1.093333 0.560000

$mar
[1] 5.1 4.1 4.1 2.1

$mex
[1] 1

$mfcol
[1] 1 1

$mfg
[1] 1 1 1 1

$mfrow
[1] 1 1

$mgp
[1] 3 1 0

$mkh
[1] 0.001

$new
[1] FALSE

$oma
[1] 0 0 0 0

$omd
[1] 0 1 0 1

$omi
[1] 0 0 0 0

$page
[1] TRUE

$pch
[1] 1

$pin
[1] 7.624444 5.324444

$plt
[1] 0.1178443 0.9396407 0.1748571 0.8594286

$ps
[1] 16

$pty
[1] "m"

$smo
[1] 1

$srt
[1] 0

$tck
[1] NA

$tcl
[1] -0.5

$usr
[1] 0 1 0 1

$xaxp
[1] 0 1 5

$xaxs
[1] "r"

$xaxt
[1] "s"

$xpd
[1] FALSE

$yaxp
[1] 0 1 5

$yaxs
[1] "r"

$yaxt
[1] "s"

$ylbias
[1] 0.2

 



다음번 포스팅에서는 색깔과 관련된 그래프 모수에 대해서 알아보도록 하겠습니다.


많은 도움이 되었기를 바랍니다.

 

이번 포스팅이 도움이 되었다면 아래의 '공감 ~♡' 단추를 꾸욱 눌러주세요.^^

 

 

728x90
반응형
Posted by Rfriend
,