1. 학습 키워드
시각화를 위한 라이브러리 및 간단 메모
- Altair, pygWalker, datapane, 이중축, subplot
2. 학습 내용
오늘 내용은 코드 공부나 기술의 내용보다 시각화 실습을 진행 하면서 간단히 메모해두고 싶은 내용을 정리하고자 한다.
seaborn 그래프의 종류
- distplot: 분포 그래프
- countplot: 범주형 변수의 발생 횟수를 세어주는 그래프. groupby 연산이 필요하지 않음.
- boxplot: IQR 방식의 그래프
- jointplot: 두 변수에 대한 displot의 조합. 두 변수의 분포에 대한 분석이 가능함.
- kdeplot: 하나 혹은 두개의 변수에 대한 밀도 기반 분포 그래프
- violinplot: boxplot에서 분포에 대한 정보가 추가된 형태
- heatmap: 상관관계 파악을 위한 그래프
Altair - 인터렉티브(동적) 그래프 그리기
- pip install altair로 설치 가능
- 반드시 필요한 스킬은 아니지만 알고 있으면 좋을듯
- 필수 항목: 데이터, 마크, 인코딩(x, y 변수 지정)
- 선택 항목: 인터렉티브, 트랜스폼, 결합, 범례, x-y축 범위
pygWalker
- pip install pygwalker
- 편리한 EDA 툴로 드래그앤 드랍 방식으로 ipynb 파일에서 바로 시각화 가능
datapane
- 내가 만든 그래프를 웹페이지 형식으로 대시보드를 만드는 기능이다.
dplot10 = sns.heatmap(df10.corr(), annot = True, cmap = 'PiYG')와 같이 내가 그리는 함수를 변수명에 담아줘야 활용할 수 있다.
- 코랩에서는 동작이 안되는 것으로 알고 있다.
- python 3.11 버전까지만 지원되는 것으로 알고 있다.
- 공식 홈페이지: https://docs.datapane.com/
이중축 그래프 그리는 방법
fig, ax1 = plt.subplots() 으로 선언한 뒤에
ax2 = ax1.twinx()로 ax2롤 선언한다면 ax1위에 그릴 수 있다.

subplot
아래와 같은 형식으로 fig,ax=plt.subplots(2,2)을 통해 전체 틀을 잡은 후 각 그래프를 그리면 된다.
#figure,ax 만들기
fig,ax=plt.subplots(2,2)
#그래프 그리기
ax[0,0].plot(np.linspace(0,100,20),np.linspace(0,100,20)**2, marker='o', markersize=2, markeredgecolor='y')
ax[0,1].hist(np.random.randn(500), bins=30, color='purple', alpha=0.5)
ax[1,0].bar([1,3,5,7],np.array([1,2,3,4]),color='r')
ax[1,1].boxplot(np.random.randn(500,5))# 표준정규분포 임의로 생성
#그래프 사이 간격 추가
fig.subplots_adjust(hspace=0.5,wspace=0.3)

3. 배운점
- matplotlib과 seaborn만 알고 있었는데 이외에도 다양한 라이브러리가 있다는 것을 알게됐다. 특히 Altair는 인터렉션이 가능해도 ipynb를 통해 다른 사람한테 보여주는 것이 아니면 무슨 의미가 있나 생각이 들어 유용하지 않다고 생각했다. 하지만 datapane과 연동하면 html 파일로 인터렉션을 할 수 있어 이런 방식으로 대시보드를 구축해보는 경험도 좋을 것 같다.