막대 그래프 = Bar chart, Bar graph, bar plot
직사각형 막대를 사용해서 데이터를 표현하는 그래프
범주(category)형을 비교하기에 적합하다.
방향에 따른 분류
- .bar() : 수직 방향 : vertical
x축에 범주, y축에 값 - .barh() : 수평 방향 : horizontal
y축에 범주, z축에 값
다양한 Bar Plot
1. Multiple Bar plot
그룹별로 각각 plot을 그려 여러 개의 bar plot을 그리는 방법
- stacked bar plot
각 그룹을 같은 범주끼리 쌓아준다
쌓는 순서를 같게 유지하고 수량을 annotation을 달아주는 것이 효과적이다.
.bar(bottom='') .barh(left='')
로 구현한다. - Overlapped Bar Plot
2개의 그룹을 투명도를 조절해서 비교를 쉽게 한다.
3개 이상의 그룹에서 잘 안 보인다.
.bar(alpha='')
- Grouped Bar plot
그룹별 범주에 따른 bar를 이웃되게 배치한다.
matplotlib에서는 수치형으로 구현이 더 쉬워서 비교적 구현이 까다롭다..set_xticks() .set_xticklabels()
값이 많지 않은 나머지를 모아서 etc로 처리하는 방법도 있다.
Bar Plot 사용법
- y축의 시작은 0이어야 한다.
중간부터 자르면 정확한 비교가 어렵다. - 정렬하기
시간, 크기순, 범주의 순서 등에 따라서 정렬하여 plot하는 것이 좋다.pd.sort_values() pd.sort_index()
- 적절한 공간 활용
으로 여백과 디자인을 조정하면 가독성이 좋아진다..set_xlim(), .set_ylim() .spines[spine], .set_visible() width .legend() .margins()
- 불필요한 화려함
3D, 너무 화려한 infograpic은 지양하는 것이 좋다.
디테일한 것들에서 오는 복잡함을 최소화해서 단순하고 깔끔하게 시각화하자.
.grid() .set_ticklabels() .text() .annotate()
- text 활용
제목, 라벨, text, annotation을 적절히 잘 이용해서
해당 plot의 목적을 표현하자
.set_title() .set_xlabel(), .set_ylabel()
'부스트캠프 AI Tech 3기 > 이론 : U-stage' 카테고리의 다른 글
[Day11] Data Visualization 2-3. Scatter Plot (0) | 2022.02.04 |
---|---|
[Day11] Data Visualization 2-2. Line Plot (0) | 2022.02.04 |
[Day11] Data visualization 1-2. 시각화의 요소 (0) | 2022.02.03 |
[Day10] Pytorch 10. Troubleshooting (0) | 2022.01.28 |
[Day10] Pytorch 9. Hyperparameter Tuning (0) | 2022.01.28 |