데이터분석

Colab 한글폰트 문제 해결

DEDS 2025. 4. 10. 10:51
728x90
반응형

1. 현상

Colab에서 matplotlib 사용시 한글이 깨지는 현상을 볼수 있습니다.

duckdb 샘플코드로 막대그래프와 꺽은선 그래프를 그렸는데 한글이 깨지네요.

코드는 다음과 같습니다.

import duckdb
import matplotlib.pyplot as plt

# DuckDB에서 Parquet 읽기 (Pandas 없이)
query = """
    SELECT region, COUNT(*) AS cnt, AVG(sales) AS avg_sales
    FROM 'sales.parquet'
    GROUP BY region
    ORDER BY cnt DESC
"""
result = duckdb.query(query).to_df()
# 그래프 스타일 설정 (선택)
plt.style.use('ggplot')
# x축 레이블
x = result['region']
# 막대그래프 (건수)
fig, ax1 = plt.subplots(figsize=(10, 6))
ax1.bar(x, result['cnt'], color='skyblue', label='건수')
ax1.set_ylabel('건수', color='skyblue')
ax1.tick_params(axis='y', labelcolor='skyblue')
# 꺾은선그래프 (avg_sales) - 보조 축 사용
ax2 = ax1.twinx()
ax2.plot(x, result['avg_sales'], color='darkred', marker='o', linewidth=2, label='평균판매량')
ax2.set_ylabel('평균판매량', color='darkred')
ax2.tick_params(axis='y', labelcolor='darkred')
# 제목 및 레이블
plt.title('판매 지역별 건수 & 평균 매출 (꺾은선 + 막대)')
fig.tight_layout()
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')
plt.show()

□(네모)로 한글이 깨져서 알아 볼수가 없네요.

 

2.해결 방안

  • 먼저 폰트를 설치한다.
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
  • 세션을 다시 시작(Ctrl+M)

세션 다시 시작 클릭

 

  • 폰트 지정
import duckdb
import matplotlib.pyplot as plt

plt.rc('font', family='NanumBarunGothic') # 코드 추가
.
.
.

plt.show()

한글 정상 출력

  • 폰트리스트 조회 코드
import matplotlib.font_manager as fm

font_list = fm.findSystemFonts(fontpaths = None, fontext = 'ttf')
font_list[:]

 

728x90
반응형

'데이터분석' 카테고리의 다른 글

다중공선성(multicollinearity)  (0) 2025.04.10
분석을 위한 통계(Statistics)1  (0) 2025.04.10
DuckDB-3 (Parquet 및 Copy)  (0) 2025.04.10
DuckDB-2(테이블 활용)  (0) 2025.04.09
DuckDB-1 (파일SQL)  (0) 2025.04.08