R
[R] 시각화 - 산점도 그래프(scatter plot)
ㄷㅐ장님
2022. 1. 25. 18:53
산점도(scatter plot)
: 데이터를 점으로 표시하여 흩뿌리듯이 시각화한 그래프
데이터의 실제값들이 표시되므로 분포를 한눈에 살펴보는데 유용하다.
x-y plotting
plot(x=women$height,y=women$weight,
xlab = '키',ylab='몸무게',
main='여성의 키와 몸무게',sub='미국 70년대 기준',
type='b',lty=2,lwd=2,pch=7,cex=2,col="darkblue")
+) type p:점 / l:선 / b:점&선 / c: b의 선 / o:점위에 선 / h:수직선 / s:계단형 / n:나타내지 않음
lty 선의 유형(0~6)
lwd 선의 굵기 (기본값 1)
pch 점의 종류
axis
: x축과 y축을 생성하는 함수
#산점도 그래프(x축,y축 없음)
plot(new$콜레라,xlab="",ylab="",ylim=c(0,300),axes=F,type='o',col="violet")
axis(1,at=1:5,label=rownames(new),las=2) #x축
axis(2) #y축
lines
: 다른 데이터를 겹쳐 그리기 위해 사용한다.
lines(new$장티푸스,type='o',col="blue")
lines(new$파라티푸스,type='o',col="red")
lines(new$세균성이질,type='o',col="black")
lines(new$장출혈성대장균감염증,type='o',col="green")
lines(new$장티푸스,type='o',col="blue")
abline(h=seq(0,300,50),v=seq(1,10,1),lty=3,lwd=0.2) #보조선
legend("topleft",legend=names(new)[1:5],cex=0.5,lty=2,lwd=1,
col=c('violet','blue','red','black','green')) #범례
[문제166] 2015년~2021년까지 서울에서 '경기도','부산광역시','인천광역시','대구광역시','세종특별자치시' 으로 이동자수를 그래프로 시각화해주세요.
1) 전처리
data <- read.csv("c:/data/서울시이동자수.csv",head=T)
data <- data[-1,-1]
names(data)[2:8] <- c(2015:2021)
data <- data.frame(t(data))
names(data) <- data[1,]
data <- data[-1,]
str(data)
2) char → int 변환
data[,1:16] <- lapply(data[,1:16],as.integer)
str(data)
3) 산점도 그래프 그리기
plot(data$경기도,xlab="",ylab="",ylim=c(0,400000),axes=F,col='violet',type='b')
lines(data$부산광역시,col='blue',type='b')
lines(data$인천광역시,col='red',type='b')
lines(data$대구광역시,col='black',type='b')
lines(data$세종특별자치시,col='green',type='b')
axis(1,at=(1:7),label=rownames(data),las=2)
axis(2,at=seq(0,400000,by=50000),las=2)
abline(v=seq(1,10,1),lty=3,lwd=0.2)
legend(xy.coords(300000),legend=c('경기도','부산광역시','인천광역시','대구광역시','세종특별자치시'),
col=c('violet','blue','red','black','green'),cex=0.5,lty=1,lwd=0.5)