R

R 기본 플롯 사용하기

cj92 2019. 3. 19. 02:35

기본 플롯 옵션

par()


fig=c(x1, x2, y1, y2) x1에서 x2까지 y1에서 y2까지 그림을 입력

pty=“s”or“m” mar=c(5.1,4.1,4.1,2.1) 그래픽 바깥 여백 new=T는 겹처서 그리기 mfrow=c(행의수,열의수) 한 그

래픽에 여러그래프그리기


split.screen(fig=c(,)) 행의 수와 열의수로 쪼갬

split.screen(fig=c(1,2), screen=2) screen에 해당하는 칸을 행과 열의 수로 쪼갬

screen(4) ;hist(cars$dist) screen(4)에 그래픽을 넣음

erase.screen(n=1);

screen(1) close.screen(all=TRUE)


layout(mat =matrix(c(1,1,2,3),nrow=2,byrow=T)) ex)

1

2

3

모양 그래픽 출력

 

산점도

plot(x, y, type=,main=\“c\“,sub=,xlab=,xlim=,axes=,bty=,col=,pch=,lty=,lwd=,cex=,bg=,fg=“색깔”)

axes=축의 유무 las=축의 눈금값 방향 fg=축의 색깔,bty=축 종류 o, I, 7, c,u, ]가 존재,mar=1~4순으로 여분 설정 tcl=0.3 : 축이 안쪽을가리키는지

xaxt='n' x축 지우기

pch=점의 종류(1~25), lty= 선의 종류(1~6), lwd=선의 두깨, bg=배경색,cex= 크기

col.xlab, cex.main 등 사용가능


추가 점, 텍스트, , 직선

points(x,y,내용)

text(x,y,내용,srt=각도) srt는 텍스트의 회전각도

lines(x,y)

abline(a=,b=,v=,h=) bx+a의 직선을 그음. v는 수직, h는 수평선

arrows(x1,y1,x2,y2,angle=, length=,code=) 시점과 종점을 긋는 직선 긋기 code(0~2)는 직선의 종류 angle은 화살표의 각


사각형(rectangle) 생성

rect(왼쪽밑의x좌표, 왼쪽 밑의 y좌표, 오른쪽위의 x좌표, 오른쪽 위의 y좌표, border=, density=)

border은 테두리선 색깔, density는 사선의 밀도

box()는 테두리

order 자료의 첨자를 정렬 ex)data<-data[order(data[,2]),]


범례(legned)

legend(위치 ,legend=c(“”,“”),fill=1:2, density=)

위치 bottom, left, right ,top, center의 조합 혹은 좌표 사용가능 fill은 채우기색

axis(1에서4 ,at=축의 시작:, labels=축의 값, line=, outer=, col.axis=축의 값의 색)

1:4는 아래 왼 위 오른 순 line은 축과 떨어진 거리, outer=T은 맨 바깥 태두리


격자눈금선

grid(); grid(가로의 개수, 세로의 개수)


다각형

polygon(x좌표의 집합, y좌표의 집합)

 

rug(기준변수, side=1~4중하나, ticksize=) ticksize는 높이 rug는 데이터들을 하나의 좌표축에 표시하는 방법

chull : 가장 바깥쪽 테두리 점에 해당하는 첨자를 구해줌

 

locator(n,type=“p,l,o 중 하나”) : n개의 좌표를 그래픽에서 찾아줌

identify(x, y, output, pos=T, n=,plot=T,offset=n,atpen=T ,tolerance=n)

: 좌표를 찍으면 거기에 해당하는 output 값을 찾아줌

outputxy값 디폴트는 첨자,pos=T : 포인트 값 반환 offset은 출력되는 숫자와 점사이의 거리

atpen=T 찍은 점에 바로 output값을 줌, tolerance= 인식 거리


곡선

curve(표현식)


히스토그램

hist(단일변수,border=“색깔”)


부분집합 

ex) subset(data, var==element1| var!=elment2)


저장

png(filename="plot1.png", width=480, height=480)

postscript(file="plot1.eps", horizontal = FALSE, onefile=FALSE, height=30, width=50)

pdf(file="plot1.pdf")

dev.list() 실행중인 리스트 확인 dev.cur() 활성화 리스트 확인 dev.set(2) 2번 활성화 dev.copy(which=3)

활성화 된 걸 3번에 복사 dev.off() 장치종료


원근법(perspective)

z<-outer(x,y,f) x,y값을 바꿔가며 f에 넣음 image(z) ;contour(z) 등고선

persp(x,y,z,theta=0,phi=0,expand=) 주면좌표계

library(rgl)

plot3d(x,y,z,col=ifelse(z>0.5,1,2))

persp3d(x,y,z,add=T, col="lightblue", aspect=c(1,1,0.5))

aspect는 가로세로비,add=축 여부(F 안됨)