크게 작도함수와 작도디바이스 이용해서 그래프 작성
고수준의 작도함수
하나의 완성된 그래프를 그림
plot() -> 산점도, hist() -> 히스토그램
저수준의 작도함수
완성된 그래프에 도형이나 문자 추가
legend() -> 막대그래프의 범례 추가
abline() -> 산점도에 회귀작성 추가
간단한 명령으로 보기 좋은 그래프 작성 가능
그래프를 사용자화 할 수 있음
barplot(a, border="green", density = c(10,20,30,40,50,60),
names.arg = c("1월", "2월", "3월", "4월","5월","6월"),
main = "월 별 판매액(단위: 억원)", ylab = "매출액",horiz = TRUE)
Mdata <- matrix(c(a,b,c), 3, 6)
barplot(Mdata, ylab = '매출액', ylim = c(0, 100), col = rainbow(3),
names.arg = c("1월", "2월", "3월", "4월","5월","6월"),
beside = T)
plot.new()
plot(a, type="o", xlab = "Data", ylab = "Frequency", col="yellow",
pch= 19, lwd=3, cex=2)
par() 다양한 옵션의 표식과 선의 형식, 라인 타입,컬러색상을 달리해서 제시한다.
par(mar= c(3,3,3,3))
par(mfrow=c(1,3))
plot(a, type ='l', col =1, lty=2)
plot(b, type ="b", col =2, lty=4)
plot(c, type= 's', col=3, lty =6)
hist(data, nclass = 15, xlim = c(10,40), labels = T, ylim = c(1,5))
nclass 계급 구간의 계수
labels-> TRUE(혹은 문자열)을 지정하면 막대위의 label 출력
boxplot(airquality$Ozone~airquality$Month, horizontal = TRUE, notch = TRUE)
labeltext <- LETTERS[4:10]
ratio <- round(df$Freq/sum(df$Freq)*100,2)
label <- paste(labeltext, "\n", ratio, "%")
pie(df$Freq, col=rainbow(7), labels = label)
저장하는 방법
png("myplot.png", width = 300, height = 600, unit="px", bg="transparent")
xyplot(lat~long|depth.cat, data = quakes)
dev.off()
ggplot(데이터프레임, aes(x= , y=))
ggplot(AIR,
aes(x=Wind, y=Temp)) +
geom_point(colour ='pink', size=4)
ggplot(AIR,
aes(x=Wind, y=Temp)) +
geom_point(aes(colour=Month,size=5))
ggplot(AIR,
aes(x=Wind, y=Temp)) +
geom_point(aes(colour=Month,size=5)) +
geom_smooth(method = "lm", se = F, color ='brown', size=2) +
labs(x="Daily Wind", y="Daily Temp")
ggplot(AIR, aes(Temp)) +
geom_histogram(aes(y =..density..), binwidth = 1,
colour = "black", fill="gray") +
labs(x="Daily Temp", y= "Density") +
stat_function(fun=dnorm, args=list(mean(AIR$Temp), sd(AIR$Temp)),
colour="blue", size =2)
ggplot(AIR, aes(x=factor(Month), y=Temp)) +
geom_boxplot(aes(fill=factor(Month))) +
labs(x="Month", y="Daily Temp")
geom_violin() 바이올렛
출처 통계청 통계교육원