나는 윈도우 세팅에서 작업을 할 때, WSL 과 jupyter lab 에서 matplotlib, seaborn 을 가지고 주로 시각화를 진행한다.
Matplotlib 에서 폰트를 사용하려면 WSL(Ubuntu) 에 깔려 있어야 하는데,
먼저 대표적인 한글 폰트인 "나눔고딕" 을 설치하는 방법과 우분투에 폰트를 업데이트하는 법을 소개한다.
sudo apt-get install fonts-nanum* # 폰트 설치
sudo fc-cache -fv # 캐시 제거
sudo fc-list | grep nanum # 폰트 설치 확인
rm -rf ~/.cache/matplotlib/* # matplotlib 캐시 제거
세팅이 끝났으면 본격적으로 그림을 그려보자.
import matplotlib.pyplot as plt
sns.set(font_scale = 1.5,font ='NanumGothic' )
plt.figure(figsize = (10,10))
# Data
values = [20, 20, 20, 20, 20, 20, 20, 1]
labels = ['집에 가고 싶은 마음', '집에 도착하고 싶은 마음',
'집으로 달려가고 싶은 마음', '연차 쓰고 싶은 마음',
'좋은 카페를 가고 싶은 마음', '쉬고 싶은 마음',
'아무 생각이 없는 마음', '회사에 있고 싶은 마음']
colors = ['#F5BCA9', '#BEBADA', '#FFFFB3', '#FB8072', '#8DD3C7', '#80B1D3', '#B3DE69', '#FDB462']
# Create the pie chart with custom colors
plt.pie(values, labels=labels, colors=colors, autopct='%1.1f%%')
# Add title
plt.title('현재 상태')
plt.legend(labels,loc = [1.3,0.4],frameon = False)
# Show the chart
plt.show()
이전 게시물에서도 사용했듯, 나는 sns.set() 을 사용하여 전체적인 도표의 스타일을 잡는 것을 좋아한다.
하지만 sns.set(font_scale = 1.2) 만 사용했을 때는 seaborn 에서 기본으로 한글 폰트를 잡아서, 만약 그 폰트가 설치되어있지 않으면 네모네모 글씨들을 볼 수 있으니 꼭 font = 'Some Font' 와 같이 사용해주는 것으로 하자.
참고문헌
[matplotlib] 리눅스 우분투 matplotlib 그래프 한글 깨짐 문제 해결법 by bskyvision.com
'데이터 > Plotting' 카테고리의 다른 글
트리 시각화하기 (0) | 2023.03.03 |
---|---|
이번 주 해볼 것 (0) | 2023.01.05 |
[ML/DL Model visualization] 모델을 시각화해보자. (0) | 2022.12.14 |
[Matplotlib] pdf 저장 시 text 를 수정가능하게 저장하는 방법 (0) | 2022.09.08 |
[1] Seaborn & matplotlib : 마법의 3줄 (0) | 2022.05.16 |
댓글