R 그래픽
Information Visualization (15) - R 그래픽 기초 (직선그래프 영역채우기)
2014. 10. 29.> y // y x=1920:1970> plot.new() > plot.window(xlim=c(1920,1970), xaxs="i",ylim=c(46.5,55.5), yaxs="i") > abline(v=seq(1930,1960,by=10), col="gray") //배경 그리드 그리기> abline(h=seq(48,54, by=2), col="gray")> xx=c(1920,x,1970) > yy=c(46.5,y,46.5)> polygon(xx,yy,col="gray") // 다각형 그리기> axis(1)> axis(2, las=1)> box()>
Information Visualization (14) - R 그래픽 기초 (그래프 그리기 Line Graphs, Curves)
2014. 10. 29.1. 직선 그리기 > plot.new()> plot.window(xlim = c(1, 4), ylim = c(0, 3)) > x = c(1, 2, 3, 4)> y = c(0, 2, 1, 3)> lines(x, y)> axis(1)> axis(2)> box()2. 곡선 그리기 특정 구간 사이에 y = f (x) 형태의 그래프를 그리는 경우가 많은데,하나의 방법은 해당 구간을 잘게 잘라 직선의 모음으로 보는 것이다. 예를 들면, 다음과 같이 정규분포곡선을 그릴 수 있다. > x = seq(-3, 3, length = 1000) // 해당 구간을 1,000개로 쪼갠다> y = dnorm(x) > plot.new()> plot.window(xlim = range(x), ylim = range(y))> lines..
Information Visualization (13) - R 그래픽 기초 (축 axis)
2014. 10. 29.1. 축과 주석 axis(1, at=1:4, lab=c("A", "B", "C", "D"))예제의 경우 x축 1, 2, 3, 4 에 tick mark 가 위치하고 각각에 "A", "B", "C", "D" 라고 라벨을 붙인다는 의미- las=. 라벨의 로테이션 결정 (기본값은 0 이며 값에 따라 다음과 같다) las=0 : 항상 축과 평행(parallel) las=1 : 항상 수평(horizontal) las=2 : 항상 축에 대해 수직(perpendicular) las=3 : 항상 수직(vertical) 2. 축의 최대, 최소값 설정 plot.window(xlim=c(0,1), ylim=c(10,20), xaxs="i")- xlim, ylim : x 축, y 축 각각의 최소값과 최대값을 지정하는 것으로 ..
Information Visualization (12) - R 그래픽 기초 (텍스트, 범례)
2014. 10. 25.1. 텍스트 넣기 text(x, y, labels)- x, y : 텍스트가 위치하는 좌표- labels : 삽입되는 문장- col : 텍스트 색깔- srt : 문장의 방향 (수평으로부터 반시계방향으로 각도)- adj : 위치조정 > plot.new()> plot.window(xlim = c(0, 5), ylim = c(0, 10))> axis(1)> axis(2)> box()> text(1,2,"text",srt=0)> text(2,3,"text",srt=90)> text(3,4,"text",srt=180)> text(4,5,"text",srt=270)> text(3,5,"text",srt=180, adj=1) 2. 범례 legend(xloc, yloc,legend = c("Exact", "Approxi..
Information Visualization (11) - R 그래픽 기초 (도형 그리기)
2014. 10. 25.1. 화살표 그리기 arrows(x0, y0, x1, y1, code=int, length=num, angle=num)- x0, y0, x1, y1 는 시작점과 끝점을 의미- code 1 : 화살표가 그려지는 지점이 시작점 2 : 끝점에 그려짐 3 : 선의 양쪽에 화살표 그려짐- length – 화살표의 길이 (단위는 인치)- angle - 화살표의 각도 > plot.new()> plot.window(xlim = c(0, 5), ylim = c(0, 10))> axis(1)> axis(2)> arrows(1, 2, 4, 6, code=2, length=1, angle=45)> 2. 사각형 그리기 rect(x0, y0, x1, y1, col=str, border=str)- x0, y0, x1, y1 은 아..
Information Visualization (10) - R 그래픽 기초 (선 그리기 Adding Disconnected Lines Segments To A Plot)
2014. 10. 24.기본형태 segments(x0, y0, x1, y1) * x0, y0 - 시작점의 좌표 x1, y1 - 끝나는 점의 좌표* 라인모양, 색상, 폭 등 설정 가능 > plot.new()> plot.window(xlim = c(0, 10), ylim = c(0, 10))> axis(1)> axis(2)> segments(1,1,5,7)>
Information Visualization (9) - R 그래픽 기초 (선 그리기Drawing Straight Lines Across A Plot)
2014. 10. 24.기본형태 abline(a=intercept, b=slope) // a = y 절편, b= 기울기abline(h=numbers) // 수직선 긋기abline(v=numbers) // 수평선 긋기* 라인 형태, 색상, 폭 등의 인수는 기존 line() 함수와 마찬가지로 적용가능함 > plot.new()> plot.window(xlim = c(0, 10), ylim = c(0, 10))> axis(1)> axis(2)> abline(2,1)> abline(v=2)> abline(h=6)> box()>
Information Visualization (8) - R 그래픽 기초 (선 그리기Adding Connected Line Segments)
2014. 10. 24.기본형태 lines(x, y, lty=str, lwd=num, col=str) 1. lty=int or name선의 스타일 (기본값 "solid")"blank", "solid", "dashed", "dotted", "dotdash", "longdash", "twodash" 등이 있으며 아래 샘플 참조. > plot.new()> plot.window(xlim = c(0, 10), ylim = c(0, 10))> axis(1)> axis(2)> lines(c(0,10),c(1,1),lty="solid")> lines(c(0,10),c(2,2),lty="dashed")> lines(c(0,10),c(3,3),lty="dotted")> lines(c(0,10),c(4,4),lty="dotdash")> lines..
Information Visualization (8) - R 그래픽 기초 (점 추가하기 Adding Points To A Plot)
2014. 10. 18.형식은 다음과 같음points(x, y, pch=int, col=str) pch점의 모양 결정하는 것으로, 1~25 사이의 값은 그래픽 심볼, 33~126 사이의 값은 아스키코드(ASCII code)에서 가져옴특히 21~25 사이의 값에는 경계선의 색(col=)과 배경색(bg=) 옵션 있음 이미지출처 http://www.statmethods.net/advgraphs/parameters.html 아스키코드 이미지출처 http://www.asciichars.com/ col "red", "lightblue" 등과 같이 경계선 색상 설정
Information Visualization (6) - R 그래픽 기초 (산포도 Scatter Plot)
2014. 10. 17.이번에 알아볼 것은 산포도(Scatter Plot) 그리는 방법입니다. 먼저 아래 내용을 정해야 합니다. 각각의 단계에 코드를 대응시켜보면 다음과 같습니다. 1) x, y 축 결정> xlim = range(x)> ylim = range(y) 2) 좌표창 로딩> plot.new()> plot.window(xlim = xlim, ylim = ylim) 3) 점 배치> points(x, y) 아래와 같이 산포도 함수를 하나 만듭니다. > scat = function(x, y) {xlim = range(x) // range returns a vector containing the minimum and maximum of all the given arguments.ylim = range(y)plot.new()p..
Information Visualization (5) - R 그래픽 기초 (사각형을 이용한 나선형 그리기 Spiral Squares)
2014. 10. 17.Spiral Squares 이번에는 사각형을 이용한 나선 그리기입니다. > plot.new()> plot.window(xlim = c(-1, 1), ylim = c(-1, 1), asp = 1)> square = seq(0, 2 * pi, length = 5)[1:4] // 0에서 2π 사이를 5등분한 후 그 중 0에서부터 4개의 값만 취합니다> n = 51 // 사각형 갯수> r = rep(1.12, n) // 1.12를 n 만큼 반복> r = cumprod(r) // cumprod() function returns the cumulative multiplication results.> r = r/r[n]> theta = seq(0, 2*pi, length = n)> for (i in n:1) {x =..
Information Visualization (4) - R 그래픽 기초 (나선형 그리기)
2014. 10. 16.나선형 그리기 Drawing a Spiral 나선이란 반경이 점차 증가하는 원의 형태라고 보면 된다. 각점의 x, y 좌표는 다음과 같이 정의된다.여기서 R 은 반경을 뜻한다. 아래 명령은 (0,0) 에서 시작하여 30번 회전하는 나선을 만든다. 1 라디안은 원둘레 위에서 반지름의 길이와 같은 길이를 갖는 호에 대응하는 중심각의 크기로 다음과 같다.1 rad = 180°/π, 따라서 2π = 360° theta = seq(0, 30*2*pi, by = 2*pi/72) 위식에서 보듯이 각을 나타내는 theta 값은 0 에서 시작해서 2*pi/72 (360°/72 = 5°) 간격으로 30*2*pi (30*360°, 30번 회전할 때까지)가 될때까지 증가한다. R = theta/max(theta)위 식에서 보..
Information Visualization (3) - R 그래픽 기초 (원 그리기)
2014. 9. 12.1. 원 그리기 원을 그리는 간단한 R 함수는 없다. 아래는 다각형을 가지고 대략적으로 원을 그리는 방법이다. > plot.new() > plot.window(xlim=c(-1.1,1.1), ylim=c(-1.1,1.1), asp=1) > theta=seq(0,2*pi, length=72) // 180° = π, 2π 즉, 360° 를 72 로 나눈 것이므로 Change of angle = 5° > x=cos(theta) > y=sin(theta) > lines(x,y) > 위의 그림에서 c = 1 이라고 하면, 좌표 X = (a,b) = (a/1, b/1) = (cosA, sinA) 가 된다. theta = seq(0,2*pi, length=72) 의 간격대로 해당 값들을 구해보면 아래와 같다. 아래와..