본문 바로가기
반응형

4. 그래프 꾸미기(저수준 함수)48

[R시각화] 눈금 라벨을 위아래로 움직이는 방법 (tick label move) 그래프를 그리기 전에 아래 코드를 입력합니다. par(mgp=c(3, 1.8, 0)) 두번째 값을 바꾸면 눈금이 위아래로 이동합니다. 2022. 9. 15.
R 그래프 가로세로 비율(화면비율), 화면 크기 설정 화면 비율을 설정할 때는 asp 옵션을 사용합니다. asp 값은 가로:세로 비율입니다. asp가 2라면 y값이 x값보다 두배 확대됩니다. 같은 1이라도 y축방향이 두배 길어집니다. 아래는 asp를 1로 설정한 예제입니다. x=c(1,2) y=c(1,2) plot(x,y,type="h",col='red',xlim=c(0,4),ylim=c(0,4), lwd=2,asp=1) 그래프 크기가 1:1 비율이 되지는 않습니다. 축의 간격의 길이가 같아집니다. asp를 2로 바꿔봅시다. y축에 간격 5의 길이와 x축 간격 5의 길이를 비교해보면, y축이 두배 긴 것을 알 수 있습니다. asp를 2로 놓으면 y축의 간격 길이가 두배가 됩니다. 그래프 크기까지 원하는 비율로 하려면 dev.new 함수를 사용해야 합니다. .. 2022. 4. 2.
[R] x축 눈금 값을 원하는 값으로 바꾸기 아래와 같이 하면 됩니다. #눈금 값 없이 그래프 만들기 plot(1:10, xaxt = "n") #축에 원하는 이름 추가하기 axis(1, at=1:10, labels=letters[1:10]) 2022. 2. 7.
[R 시각화] 여러 그래프의 제목과 축이름 글자 크기를 한변에 변경 par함수를 이용하면 됩니다. par 함수 안에 cex 옵션을 설정하면 그래프를 그릴 때 사용되는 디폴트 글자 크기가 변경됩니다. 아래는 예시입니다. #그래프 제목, 축이름 크기 변경 par(cex.main=3,cex.lab=1.5) #화면 나누기 par(mfrow=c(1,3)) #그래프프 plot(c(1,2,3),c(4,5,6),main="산점도") barplot(c(1,2,3),main="막대그래프") hist(rnorm(100),main="히스토그램") par 설정을 초기화하는 방법은 아래와 같습니다. dev.off() 2021. 6. 11.
R그래프 축 눈금 원하는 간격으로 설정하기 코드는 아래와 같습니다. 설명은 주석으로 대신합니다. #데이터 x=c(1,2,3,4,5) y=c(1,2,3,4,5) # axes FALSE로 설정하여 축 눈금과 값 안나오게함 plot(x,y,xaxt="n",yaxt="n",xlim=c(0,10),ylim=c(0,10)) #간격 설정 xat=seq(0,10,by=0.5) yat=seq(0,10,by=2) #위에서 설정한 간격 이용하여 눈금 그리기 axis(side=1,at=xat) axis(side=2,at=yat) 2021. 3. 15.
R 그래프 화면 분할 (화면의 일부분에 그래프 그리기) par 함수의 fig 값 입력하면 됩니다. 형식은 아래와 같습니다. par(fig=c(x1, x2, y1, y2)) 몇가지 입력 예시를 통해 이해해봅시다. (0,1,0,1) 화면 전체 사용 par(fig=c(0,1,0,1)) plot(1:10) box(col="red") box("figure", col="green") box("outer", col="blue") (0,0.5,0,1) 가로 50%, 세로 100% 사용 par(fig=c(0,0.5,0,1)) plot(1:10) box(col="red") box("figure", col="green") box("outer", col="blue") (0.2,0.5,0,1) 가로 20%지점부터 30%만큼 사용, 세로 100% 사용 par(fig=c(0.2,0.5.. 2021. 1. 30.
[R시각화] 수식입력에 관한 정보 plotmath() R에 수식을 입력하는 방법을 알고 싶으면 명령창에 help(plotmath) 라고 검색하면 됩니다. 스크롤을 내려보면 표현가능한 수식 예시를 볼 수 있습니다. 데모 기능도 있습니다. 명령창에 demo(plotmath)라고 입력하면 실제 예시들을 출력해줍니다. 콘솔창에 엔터를 치면서 다양한 출력 예시들을 볼 수 있습니다. 2020. 12. 31.
[R시각화] 사각형을 입력하는 rect 함수 rect 함수는 그래프에 사각형을 추가합니다. 아래와 같은 형식으로 사용합니다. rect(xleft, ybottom, xright, ytop) 네개의 직선을 긋고 만들어지는 사각형이라고 생각하면 됩니다. xleft는 왼쪽 세로선, ybottom은 아래 가로선, xright은 오른쪽 세로선, ytop은 위 가로선입니다. 아래는 예시입니다. plot(0,xlim=c(0,10),ylim=c(0,10),type="n") rect(3,5,1,2) 옵션 기능 density = NULL 빗금으로 채우기 angle = 45 빗금 각도 col = NA 채우기 색 border = NULL 테두리색 lty = par("lty") 선 스타일 0 : blank 1 : solid 2 : dashed 3 : dotted 4 : d.. 2020. 12. 30.
[R시각화] 데이터의 위치를 눈금으로 표시 rug 함수를 이용하면 데이터의 위치를 눈금으로 표시해줍니다. 점들을 부드러운 곡선으로 연결한 경우, rug 함수를 적용하면 어느 영역에 데이터가 몰려 있는지를 한눈에 알 수 있습니다. > x=c(1,2,3,4,10,11,12,20,21,22) > y=1:10 > plot(x,y,type='l') > rug(x) 2020. 12. 30.
[ R시각화] 바로 가져다 쓰는 범례(legend) 1. 범례를 색으로 구분 x 2020. 12. 30.
[R시각화] 그래프의 제목을 추가해주는 title 함수 title 함수는 그래프에 제목을 추가해줍니다. 그래프 제목은 plot(), barplot() 등의 고수준함수 안에도 옵션으로 설정할 수 있습니다. title 함수는 저수준함수로, 그래프가 그려진 상태에서만 사용이 가능합니다. 고수준함수에 제목 옵션이 설정된 경우에 title 함수로 제목을 입력하면 두 제목이 중첩되어 보이게 됩니다. title 함수에서는 네가지 제목을 설정할 수 있습니다. main : 그래프 제목 sub : 부제목 xlab : x축 이름 ylab : y축 이름 아래는 예시입니다. ann=FALSE로 설정하여 자동으로 설정되는 x,y축 이름을 제거해줍니다. > plot(iris$Sepal.Length,ann=FALSE) > title(main="IRIS graph",sub="sepal l.. 2020. 12. 30.
[R시각화] 마진(margin)에 텍스트 추가해주는 mtext함수 먼저 마진이 어딘지를 확인해봅시다. par(mar=c(5,5,5,5),oma=c(3,3,3,3)) plot(0,xlim=c(0,10),ylim=c(0,10),type="n") box(col="red") box("figure", col="green") box("outer", col="blue") 두개의 마진이 있습니다. 파란상자와 초록상자 사이 공간이 내부마진이고, 초록상자와 파란상자 사이 공간이 외부마진입니다. 내부마진을 그냥 '마진'이라고 부르기도 합니다. 마진에 글을 추가할 때는 mtext 함수를 사용합니다. 아래와 같은 형식으로 입력합니다. mtext(text, side = 3, line = 0, outer = FALSE, at = NA, adj = NA, padj = NA, cex = NA, co.. 2020. 12. 30.
[R시각화] 현재 그래프의 여백(margin)을 눈으로 확인 방법 그래프가 그려진 상태에서 아래 코드를 입력하면 됩니다. box(col="red") box("figure", col="green") box("outer", col="blue") 각각 어떤 의미인지는 아래 그래프를 보시면 알 수 있습니다. par(mar=c(2,2,2,2),oma=c(2,2,2,2)) plot(0,xlim=c(0,10),ylim=c(0,10),type="n") box(col="red") box("figure", col="green") box("outer", col="blue") 2020. 12. 30.
[R시각화] 마우스로 선택한 점을 추가해주는 locator 함수 locator 함수는 마우스로 선택한 점을 추가해줍니다. locator() 라고 명령창에 입력한 뒤에, 그래프에서 원하는 위치를 선택합니다. 복수 선택도 가능합니다. 선택이 완료되면 Esc 키를 누릅니다. 명령창에 선택한 점이 출력됩니다. 빈 그래프를 하나 그려봅시다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") 명령창에 locator() 를 입력합니다. 꼭 괄호를 함께 입력해야 합니다. 화면을 클릭합니다. 선택이 끝나면 Esc를 누릅니다. 아래와 같이 점이 출력됩니다. > locator() $x [1] 1.753678 3.151906 3.151906 4.914890 7.042630 $y [1] 6.613469 3.668248 3.668248 6.677496 3.604.. 2020. 12. 30.
[R시각화] 그래프에 점을 추가하는 points 함수 points 함수는 그래프에 점을 추가하는 함수입니다. 단독으로 사용할 수는 없고, 그려진 그래프가 있어야 합니다. 아래와 같은 형식으로 사용합니다. points(x좌표들, y좌표들) 아래는 예시입니다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") > points(c(1,4,6),c(2,6,8)) 점에 적용하는 옵션은 아래와 같습니다. 옵션 설명 pch 점의 형태 (0~25 사이 숫자) 21~25 는 테두리와 내부 색 따로 설정 가능 cex=1 점의 크기 col 점 테두리 색 bg 점 채우기 색 옵션을 적용해봅시다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") > points(c(1,4,6),c(2,6,8),pch=7,cex=2,co.. 2020. 12. 30.
[R시각화] 선을 그려주는 lines 함수 line 함수는 그래프에 선을 추가해야 하는 경우에 사용하는 함수입니다. 단독으로 사용할 수는 없고 그래프가 하나 그려져 있어야 합니다. 아래와 같은 형식으로 사용합니다. lines(c(x좌표들),c(y좌표들)) 아래는 예시입니다. > plot(0,xlim=c(0,10),ylim=c(0,10),type="n") > lines(c(1,5),c(2,7)) 선색, 두께, 스타일을 설정해봅시다. col은 색, lwd는 두께, lty는 스타일입니다. lty 옵션은 아래와 같습니다. 선의 형태 0 : blank 1 : solid 2 : dashed 3 : dotted 4 : dotdash 5 : longdash 6 : twodash 옵션을 적용하여 그래프를 그려봅시다. > plot(0,xlim=c(0,10),yli.. 2020. 12. 29.
[R시각화] 여러 그래프 타이틀,축이름,눈금이름 크기 일괄변경하기 boxplot 을 여러개 그린 상황을 가정합시다. 아래와 같습니다. par(mfrow=c(2,2)) boxplot(Sepal.Length~Species,iris,main="Sepal Length") boxplot(Sepal.Width~Species,iris,main="Sapel Width") boxplot(Petal.Length~Species,iris,main="Petal Length") boxplot(Petal.Width~Species,iris,main="Petall Width") 그래프의 제목,축이름,눈금이름의 크기를 조절하고 싶습니다. 각 그래프마다 옵션을 입력해주는 것이 귀찮을 수 있습니다. 이런 경우 그래픽파라미터를 일괄 변경하는 par 함수를 사용합니다. #제목 크기 변경 par(cex.mai.. 2020. 12. 23.
[R 시각화] 설정할 수 있는 모든 그래픽 파라미터 보는 법 (par함수) 아래 코드를 입력합니다. > 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] 0.66 $cex.axis [1] 1 $cex.lab [1] 1 $cex.main [1] 1.2 $cex.sub [1] 1 $cin [1] 0.15 0.20 $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.132 $cxy [1] 0.2242266 0.1370196.. 2020. 12. 22.
[R 시각화] 현재 여백(margin) 값 확인하는 방법 inner margin 확인 > par()$mar [1] 5.1 4.1 4.1 2.1 outer margin 확인 > par()$oma [1] 0 0 0 0 2020. 12. 22.
[R 시각화] 그래프 밖에 화살표 추가하는 방법 arrow 함수를 이용하여 그래프 밖에 화살표를 추가할 때는 xpd 옵션을 TRUE로 설정하면 됩니다. 예시는 아래와 같습니다. df=30 alpha=0.05 x=seq(-5,5,0.1) y=dt(x,df) plot(x,y,'l') xp=seq(qt(1-alpha,df),10,0.1) yp=dt(xp,df) polygon(c(xp,rev(xp)),c(rep(0,length(xp)),rev(yp)),col="blue") title(main=paste(df,"자유도 t분포")) arrows(qt(1-alpha,df),-0.035,qt(1-alpha,df),par("usr")[3],xpd=TRUE,length=0.13,lwd=2,col="red") #그래프 밖에 화살표 추가 text(qt(1-alpha,df).. 2020. 12. 18.
[R 시각화] 그래프에 화살표 추가하는 방법 그래프에 화살표를 추가할 때는 arrows 함수를 사용합니다. 기본 형식은 아래와 같습니다. arrows(x0, y0, x1, y1) x0,y0 : 시작점 x1,y1 : 끝점 그래프를 그리고 화살표를 추가해봅시다. plot(1:3,1:3) arrows(1,2,2,2.5) ㅁ몇가지 꾸미기 옵션은 아래와 같습니다. length : 화살길이 angle : 화살각도 col : 화살 색 code : 화살표 방향 (0:없음, 1:시작에서끝, 2: 끝에서시작, 3:양쪽화살표) lty : 선 스타일 lwd : 선두께 꾸미기 옵션을 사용하여 화살표를 그려봅시다 . plot(1:3,1:3) arrows(1,2,2,2.5,length=0.5,angle=50,col="red",lty=2) 2020. 12. 17.
[R 시각화] 그래프 눈금 색, 눈금 값의 색 변경 (axis함수 사용) 눈금과 눈금값의 색을 변경할 때는 아래 옵션을 사용합니다. plot 함수 안에 정의할 수도 있고, axis 라는 저수준함수를 사용할 수도 있습니다. 이 글은 axis 함수를 사용하는 방법입니다. axis 함수를 사용할 경우 x축과 y축 옵션을 각각 설정할 수 있습니다. 눈금 색 변경 col.ticks="red 눈금 값의 색 변경 col.axis="red" 예를들어봅시다. 그래프를 하나 그려봅시다. plot(1:3,1:3) 눈금 색과 눈금 값 색을 변경해봅시다. plot(1:3,1:3) #side1은 아래, 즉 x축을 의미합니다. axis(side=1,col.axis="red",col.ticks='green') #side2은 왼쪽, 즉 y축을 의미합니다. axis(side=2,col.axis="cyan",.. 2020. 12. 17.
R 화면분할하는 방법 (mfrow, 격자형태로 분할) 아래 코드를 입력합니다. par(mfrow=c(행의 수, 열의 수)) 예를들어 화면을 1행2열로 분할하여 그래프를 2개 그려봅시다. par(mfrow=(c(1,2))) plot(1:5,1:5,xlab="x",ylab="y",xlim=c(0,6),ylim=c(0,6)) plot(1:5,c(1,3,2,5,4),xlab="x",ylab="y",xlim=c(0,6),ylim=c(0,6)) 2020. 12. 11.
[R] 텍스트 사이즈, 폰트 설정 방법 [R] 텍스트 사이즈, 폰트 설정 방법 텍스트 사이즈 텍스트 사이즈는 폰트사이즈와 cex의 곱입니다. cex는 character expansion 입니다. 폰트사이즈는 디폴트(1/72inch)이고, cex를 설정하여 텍스트 사이즈를 조절합니다. 실제 출력되는 폰트 사이즈는 ps와 cex의 곱입니다. ex) text(1,1,"hi",cex=1.2) 텍스트 폰트 font 옵션을 이용합니다. 번호를 입력하면 됩니다. 1=plain, 2=bold, 3=italic, 4=bold-italic ex) text(1,1,'hi',cex=1.2,font=2) 2020. 10. 29.
R 선그래프에서 선의 두께(lwd) 설정 방법 R 선그래프에서 선의 두께(lwd) 설정 방법 선의 두께는 lwd 옵션을 이용합니다. line width 라는 뜻입니다. 디폴트 값은 1입니다. 아래와 같이 l(line) 타입과 함께 사용합니다. x=c(0,3)y=c(1,4)plot(x,y,type="l",lwd=5) 2020. 9. 28.
[R 시각화] x축 이름, 또는 y축 이름만 없애는 방법 [R 시각화] x축 이름, 또는 y축 이름만 없애는 방법 x축 이름과 y축 이름을 둘다 숨기는 방법은 그래프 함수 안에 옵션으로 ann=FALSE 를 설정하는 것입니다. 그런데 이렇게 하면 x축과 y축 이름이 둘다 사라집니다. 둘 중 하나만 남기고 싶은 경우가 있는데요. 그럴 경우 사용하는 방법입니다. 1) x축 이름만 남기고 싶은 경우 산점도(plot)을 예로 들겠습니다. x=c(1,2,3)y=c(3,3,3) plot(x,y) x,y레이블을 없애려면 ann=FALSE 옵션을 설정해주면 됩니다. plot(x,y,ann=FALSE) x레이블은 아래와 같이 추가합니다. mtext는 margin text 함수입니다. margin 에 text를 추가해줍니다. mtext("xlabel", side = 1, lin.. 2020. 9. 18.
[R 시각화] 그래프의 점 옆에 좌표 표시하기 [R 시각화] 그래프의 점 옆에 좌표 표시하기 먼저 그래프에 점을 찍어봅시다. x=c(1,2,3)y=c(1,2,3) plot(x,y,xlim=c(0,5),ylim=c(0,5)) text 함수를 이용하여 점의 좌표를 표시합시다. 텍스트가 표시될 위치의 좌표를 먼저 입력하고, 나타내기 원하는 문장을 입력합니다. (1,1)을 나타낼 것입니다. text(x[1],y[1],"(1,1)") 점과 입력문장이 겹친다는 문제가 있습니다. 위치를 미세하게 조정하는 방법도 있지만, pos 옵션을 이용하면 간단히 해결됩니다. text(x[1],y[1],"(1,1)",pos=1) pos 뒤에 입력된 숫자는 위치를 의미합니다. 1,2,3,4는 하,좌,상,우 입니다. 위 그림 코드 plot(1,1,xlim=c(0,2),ylim=c.. 2020. 8. 26.
[R 시각화] 축 레이블 회전하기 [R 시각화] 축 레이블 회전하기 las 옵션을 사용합니다. plot 안에 설정할 수도 있고, axis 함수로 축을 설정한 경우 axis 함수 안에도 설정할 수 있습니다. 0 : 축에 평행 1 : 수평방향 2 : 축에 직각 3 : 수직방향 par(mfrow=c(2,2)) for (i in 0:3) { x=c(1,2,3) y=c(5,4,5) plot(x,y,las=i) title(main=paste("las=",i)) } 2020. 8. 1.
R 그래프 y축에 퍼센트 % 표시하는 방법 R 그래프 y축에 퍼센트 % 표시하는 방법 1) percent 함수 이용 x=c(1,2,3,4,5)y=c(0.1,0.2,0.3,0.4,0.5) barplot(y,names=x,yaxt='n',ylim=c(0,1)) y_tick=c(0,0.2,0.4,0.6,0.8,1.0) axis(2, at=y_tick, lab=percent(y_tick)) 2) 직접 정의 x=c(1,2,3,4,5)y=c(10,30,50,60,80) barplot(y,names=x,yaxt='n',ylim=c(0,100)) y_tick=seq(0,100,20) axis(2, at=y_tick, lab=paste(y_tick,'%')) 2020. 7. 20.
R 축이름에 각도 기호 입력하는 방법 R 축이름에 각도 기호 입력하는 방법 expression 함수를 사용합니다. expression(degree) 라고 입력하면 각도 기호가 입력됩니다. plot(1:2,1:2,ann=FALSE)title(xlab=expression(degree),cex.lab=2) 다른 문자와 함께 사용하려면 paste 함수를 이용하여 다른 문자와 합치고, paste 함수 밖에 expression 함수를 적용하면 됩니다. plot(1:2,1:2,ann=FALSE)title(xlab=expression(paste("degree (",degree,")")),cex.lab=2) 2020. 6. 11.
반응형