Missingno
# pip install Missingno
import Missingno as msno
msno.matrix(titanic) # 결측치 표시
msno.matrix(titanic,sort="descending") # (descending,ascending) 정렬
msno.bar(titanic) # barplot으로 표시
Treemap
계층적 데이터를 직사각형을 사용하여 포함 관계를 표현한 시각화 방법
사각형을 분할하는 타일링 알고리즘에 따라 형태가 다양해지는 것이 핵심
Treemap 사용 방법
parameter
# pip install squarify
import squarify
fig, ax = plt.subplots()
values = [100, 200, 300, 400]
label = list('ABCD')
color = ['#4285F4', '#DB4437', '#F4B400', '#0F9D58']
squarify.plot(values, label=label, color=color, pad=0.2, # pad를 통해 간격 설정
text_kwargs={'color':'white', 'weight':'bold'}, ax=ax) # text_kwargs를 통해 text설정
ax.axis('off') # 축 제거
plt.show()
Waffle Chart
와플 형태로 discrete하게 값을 나타내는 차트
pie 차트와 기능이 유사하며 전체적으로 데이터의 비율을 보여주는데 유용하다.
또한, matplotlib 기반이라 custom이 쉬우며, Icon을 사용한 Waffle Chart도 가능하다.
parameter
# pip install pywaffle
from pywaffle import Waffle
data = {'A':50, 'B':45, 'C':15}
fig = plt.figure(FigureClass=Waffle, rows=5, columns=10,
values=data,
legend = {'loc':'upper left','bbox_to_acnhor' : (1,1,1),
cmap_name = 'tab10',
# colors=["#232066", "#983D3D", "#DCB732"],
# starting_location="SE"),
# vertical = True),
# block_arranging_style = 'new-line')
# icons = 'child',
# icon_legend=True,
# font_size=12)
)
plt.show()
Venn
# pip install matplotlib_venn
from matplotlib_venn import venn2
# 두 개의 subset
venn2(subsets = (3,2,1)
# 세 개의 subset
venn2(subsets = (1,2,3,4,5,6,7), set_labels = ('set1','set2','set3'))
# set으로도 전달 가능
set1 = set(['A', 'B', 'C', 'D'])
set2 = set(['B', 'C', 'D', 'E'])
set3 = set(['C', 'D',' E', 'F', 'G'])
venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))
plt.show()