Missingno
- 결측치를 체크하는 시각화 라이브러리
- 빠르게 결측치의 분포 확인하고 싶을 때
- pip install missingno
import missingno as msno
titanic = sns.load_dataset('titanic')
msno.matrix(titanic)
#msno.bar(titanic) bar형태로 출력
Treemap
- 계층적 데이터를 직사각형을 사용하여 포함 관계를 표현
- 사각형을 분할하는 타일링 알고리즘에 따라 형태가 다양해짐
- 큰 사각형을 분할하여 전체를 나타내는 모자이크 플롯과 유사
- pip install squarify 또는 Plotly의 treemap
import squarify
values = [100, 200, 300, 400] # 각 사각형 넓이 (비율)
label = list('ABCD') # 값 이름
color = ['#4285F4', '#DB4437', '#F4B400', '#0F9D58'] # 각 사각형의 색깔
squarify.plot(values, label=label, color=color, pad=0.2, # pad: 사각형간 margin
text_kwargs={'color':'white', 'weight':'bold'} #label 글씨 색,굵기
)
Waffle Chart
- 와플 형태로 discrete하게 값을 나타냄
- 기본형태는 정사각형이지만 Icon을 사용한 Waffle chart도 가능(pictogram chart)
- 인포그래픽에서 유용
- pip install pywaffle
from pywaffle import Waffle
fig = plt.figure(
FigureClass=Waffle,
rows=5, # 세로 column=가로
values=[48, 46, 6], #합=100인데 50칸이므로 24,23,3칸씩
figsize=(5, 3)
#cmap_name='tab10' 색 테마
#legend={'loc': 'upper left', 'bbox_to_anchor': (1.1, 1)} 범례
#starting_location='SE NW, SW, NE' 시작 위치
#block_arranging_style= 'new-line' 나열 방식. default='snake'
)
plt.show()
아이콘 바꾸기 (FontAwsome 아이콘 사용)
fig = plt.figure(
FigureClass=Waffle,
rows=5,
values={'A': 50, 'B': 45, 'C': 15},
legend={'loc': 'lower left', 'bbox_to_anchor': (0, -0.4), 'ncol': len(data), 'framealpha': 0},
icons='dog', #어떤 아이콘 쓸지
icon_legend=True, #아이콘을 범례로 사용할 것인지
font_size=15, #아이콘 사이즈
)
plt.show()
Venn (벤다이어그램)
- 집합(set) 등에서 사용하는 벤 다이어그램 (지양)
- EDA 보다는 출판 및 프레젠테이션에 사용
- pip install pyvenn or pip install matplotlib-venn
from matplotlib_venn import venn2
venn2(subsets = (3, 2, 1), set_labels = ('group A', 'group B'))
#첫번째 set에 들어갈 내용, 두번째 set에 들어갈 내용, 교집합에 들어갈 내용
#set을 전달하면 자동적으로 counting 하여 표현해준다
#set1 = set(['A', 'B', 'C', 'D']), set2 = set(['B', 'C', 'D', 'E'])
#venn2([set1,set2])하면 자동 계산됨