-
Bar Graph II - 막대그래프R/Data Visualization 2022. 10. 1. 06:18
막대그래프를 그리는 방법을 살펴보기 위해서 R에 내장되어 있는 mtcars 파일을 사용하였다.
mtcars 파일을 좀 살펴보면...
str(mtcars) 'data.frame': 32 obs. of 11 variables: $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ... $ cyl : num 6 6 4 6 8 6 8 4 4 6 ... $ disp: num 160 160 108 258 360 ... $ hp : num 110 110 93 110 175 105 245 62 95 123 ... $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ... $ wt : num 2.62 2.88 2.32 3.21 3.44 ... $ qsec: num 16.5 17 18.6 19.4 17 ... $ vs : num 0 0 1 1 0 1 0 1 1 1 ... $ am : num 1 1 1 0 0 0 0 0 0 0 ... $ gear: num 4 4 4 3 3 3 3 4 4 4 ... $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
여러 변수 들 중, cyl 변수와 gear 변수를 토대로 막대그래프를 그려보았다. 이 전에 cly 변수와 gear 변수의 빈도표를 살펴보았다.
car_cyl <- table(mtcars$cyl) car_cyl 4 6 8 11 7 14 table(mtcars$gear) 3 4 5 15 12 5
mtcars$cyl을 car_cyl에 할당하였고, car_cyl의 가장 기초적인 막대그래프를 그려보았다.
barplot(car_cyl, main= "cylinder types of cars", xlab = "number of cylinder")
main에는 그래프의 제목을, xlab에는 가로축에 나타낼 제목을 적어주면 된다. 그 결과..
만약 각각의 막대그래프에 색을 넣어주고 싶다면 col = c(" 색", "색", "색")을 넣어주면 된다.
barplot(car_cyl, main= "cylinder types of cars", xlab = "number of cylinder", col = c("light blue", "light green", "grey"))
y 축에도 제목을 넣어주고 싶다면 ylab = " " 을 추가해주면 된다.
barplot(car_cyl, main= "cylinder types of cars", xlab = "number of cylinder", ylab = "frequency", col = c("light blue", "light green", "grey"))
가로축에 4,6,8 은 데이터에 있는 값을 가져온 것인데 이것 대신에 이름을 할당할 수 있다. names.arg를 사용하면 된다. 그리고 코드에 보면 horiz=FALSE라고 되어 있는데 그래프를 수평으로 놓을 것인지에 대한 설정이다.
barplot(car_cyl, main= "cylinder types of cars", horiz = FALSE, names.arg = c("4 cylinder", "6cylinder", "8cylinder"), col = c("Sky Blue1" , "Light Pink1" , "Pale Green1"), xlab = "cylinder types", ylab = "Frequency")
그래프를 수평으로 놓고 싶다면 horiz = TRUE로 설정하면 되고 xlab과 ylab의 값을 바꿔주면 된다.
barplot(car_cyl, main= "cylinder types of cars", horiz = TRUE, names.arg = c("4 cylinder", "6cylinder", "8cylinder"), col = c("Sky Blue1" , "Light Pink1" , "Pale Green1"), xlab = "Frequencies", ylab = "Cylinder types")
지금까지는 한개의 변수만을 이용해서 막대그래프를 그렸다면, 이제는 두개의 변수(gear와 cyl)를 이용하여 막대그래프를 그려보았다. 행의 값 3,4,5가 gear 변수의 값이고, 열의 4,6,8이 cylinder의 값이다.
car_cyl_gear <- table(mtcars$gear, mtcars$cyl) car_cyl_gear 4 6 8 3 1 2 12 4 8 4 0 5 2 1 2
legend의 위치는 조정이 필요하지만 일단, 각각의 그래프는 cylinder type을 나타내고 그 안에 gear의 분포를 보여주고 있다.
barplot(car_cyl_gear, main="Car by cylinder and gear", xlab="Cylinder Types", ylab="Frequency", col=c("Sky Blue1" , "Light Pink1" , "Pale Green1"), legend = rownames(car_cyl_gear))
cylinder type 별, gear의 종류에 따른 막대그래프를 그리기 위해 beside=TRUE를 추가해주면 된다.
barplot(car_cyl_gear, main="Car by cylinder and gear", xlab="Cylinder Types", ylab="Frequency", col=c("Sky Blue1" , "Light Pink1" , "Pale Green1"), legend = rownames(car_cyl_gear), beside=TRUE)
'R > Data Visualization' 카테고리의 다른 글
Box Plot 그리기(boxplot) (0) 2022.03.09 원그래프 pie -1 (pie3D) (0) 2021.10.20 막대그래프 barplot - 1 (0) 2021.10.19 막대그래프 qplot - 1 (0) 2021.10.19