R 기본 플롯 사용하기
기본 플롯 옵션
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 값을 찾아줌
output은 x나 y값 디폴트는 첨자,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 안됨)