일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- NLP
- 자연어처리
- r
- pandas
- Hadoop
- Python
- 데이터처리
- SQL
- 주가예측
- R그래프
- R프로그래밍
- R시각화
- CNN
- 빅데이터
- lstm
- 데이터분석
- 하둡
- HIVE
- ggplot
- 머신러닝
- Deeplearning
- word2vec
- 데이터
- 그래프
- 빅데이터처리
- 딥러닝
- 기계학습
- 그래프시각화
- 데이터시각화
- AI
- Today
- Total
욱이의 냉철한 공부
[R, 시각화] 기본 그래프 그리기(막대 그래프) - barplot() 본문
여러 패키지 함수들, 그래프 함수 인자들 다 기억할 수 없어요.
저는 사용 할 시기가 되면 서적에서 봤던 거, 배웠던 거 정리한 것을 찾아서 활용해요.
가장 중요한 것은 함수들과 인자들을 외우는 것이 아니라,
어떻게 활용하는지 이해하는 것이 중요해요 ~!!
사용하고 싶은 함수들을 빨리 찾아서 빨리 사용하기 위해서이죠!
그중에서 그래프 함수들을 사용할 경우 저는 중요하게 생각하는 부분이
어떤 데이터 타입이 들어가는지에요~!
벡터형태, 테이블형태, 메트릭스형태, 데이터프레임형태가
함수의 x축 y축에 어떻게 맞춰서 들어가는 것에 대한 이해가 그래프 함수 활용의 출발이라고 생각해요
1. 그래프 인자 알아보기
인자 | 설명 |
main = "메인 제목" | 그래프 제목 설정 |
sub = "서브 제목" | 그래프 서브 제목 |
xlab="문자", ylab="문자" | X축, Y축에 사용할 이름 |
angle, density, col | 막대를 칠하는 선분의 각도, 선분의 수, 선분의 색을 지정한다. |
legend | 범례지정 |
names | 각 막대의 라벨을 정하는 문자열 벡터를 지정한다. |
width | 각 막대 사이의 상대적인 폭을 벡터로 지정한다. |
space | 각 만대 사이의 간격을 지정한다. |
beside | TRUE를 지정하면 각각의 값마다 막대를 그린다. |
horize | TRUE를 지정하면 막대를 옆으로 눕혀서 그린다. |
2. 사용 예시 1 - 기본 확인하자
- 벡터를 받아들여 y축으로 표현하는 것을 확인 할 수 있다.
- 그래프는 빨간색 줄이다.
- 매트릭스를 받아들여 y축으로 표현하는 것을 확인할 수 있다.
- beside 인자를 통해 열마다 각각의 그래프를 그려준다.
- 사진에는 없지만 horize인자는 세로로 눕혀준다.
3. 사용예시 2 - 벡터를 받아들이자
- 벡터를 받아들여 y축으로 표현한다.
- 첫 번째 막대그래프는 단순 barplot(donguk) 이다.
- 두 번째 막대그래프는 x축에 이름도 집어넣고 막대 모양도 꾸며봤다.
- names.arg 인자는 각 x축 칸에 맞게 이름을 설정한다.
- border는 막대의 테두리 색을 설정한다.
- density는 막대 내부에 밀도를 그려 형상을 바꾼다.
barplot(donguk, names.arg=c("2014","2015","2016","2017","2018"), main="weight change", xlab="year", ylab="weight" , border="blue", density=c(10,30,50,30,10))
4. 사용예시 3 - 매트릭스를 받아들이자
- 메트릭스를 받아들여 y축으로 표현한다.
- names.arg 인자는 각 x축 칸에 맞게 이름을 설정한다.
- main, xlab, ylab 인자를 통하여 총제목, x축 제목, y축 제목 들을 설정 할 수 있다.
- beside 인자를 통해 열마다 각각의 그래프를 그려준다.
- border는 막대의 테두리 색을 설정한다. 여기서는 blue로 설정하였다.
- col로 통하여 막대 내부 색을 설정한다. 여기서는 rainbow함수를 사용하여 자동 무지개색으로 결정하였다.
- ylim인자를 통하여 y축 값 범위를 결정할 수 있다.
- legend함수를 사용하여 범례를 설정하였다. x축 좌표로 1, y축 좌표로 100에 위치하였다.
- cex는 글자 크기이며, fill은 범례 지정 그래프 색을 표현한다.
barplot(weight, names.arg=c("donguk","hansol"), main="weight change", xlab="year", ylab="weight"
, beside=T,border="blue", col=rainbow(5), ylim=(c(0,100)))
legend(1, 100, c("2014","2015","2016","2017","2018"), cex=0.8, fill=rainbow(5))
5. 사용예시 4 - 데이터프레임을 받아들이자
- 데이터프레임을 받아들여 y축으로 표현한다. 인구밀도 열을 y축으로 표현할 거기 때문에 d$인구밀도로 설정하여 불러온다.
- names.arg 인자는 각 x축 칸에 맞게 이름을 설정한다. d$국명으로 설정하여 국명 열을 차례로 불러온다.
- col로 통하여 막대 내부 색을 설정한다. 여기서는 "lightcyan" 색깔로 지정한다.
- cex.names 인자는 x축 각 칸 이름의 크기이다.
1이 기본값이며 여기서는 0.7이기 때문에 한국부터 중국까지 글자 크기가 꽤 작아진 것을 확인 할 수 있다.
- las인자는 x축 각 칸 이름의 기울기이다.
2는 세로이기 때문에 한국부터 중국까지 세로로 놓여진 것을 확인 할 수 있다.
- text는 막대에 y축 값(인구밀도)을 표현하게 한다.
x와 y는 각 값이 그려질 좌표값이다.
x에는 bp(그래프 그 자체)를 설정하여 각 x축 칸에 맞게 좌표를 설정하게 하였다.
y에는 d$인구밀도*0.9를 설정하여 막대 총 높이의 0.9 비율 지점에 값을 표현하도록 좌표를 설정하였다.
labels는 그려질 값을 나타내는 것이고 d$인구밀도로 설정하여 인구밀도 값이 표현하도록 설정하였다.
color는 값의 색이고, cex는 크기이다. 여기서는 빨간색 그리고 기본값 1보다 약간 적은 0.7로 설정하였다.
bp <- barplot(d$인구밀도, names.arg =d$국명, main = "국가별 인구밀도",col="lightcyan",cex.names=0.7, las=2)
text(x=bp, y=d$인구밀도*0.9,labels = d$인구밀도,col="red",cex=0.7)
'데이터분석 > R' 카테고리의 다른 글
[R, DB연동] ORACLE과 연동하여 R에서 SQL 사용하기 (0) | 2021.06.28 |
---|---|
[R, 시각화] 기본 그래프 그리기(파이, 히스토그램, 박스그래프, 화면분할) - pie(), hist(), boxplot() (0) | 2021.06.28 |
[R, 시각화] 기본 그래프 그리기(산점도,꺽은선) - plot() (1) | 2021.06.28 |
[R, 정리] 파일(csv, txt) 가져오기 (0) | 2021.06.22 |
[R, 정리] 데이터 타입 이해하기 (0) | 2021.06.22 |