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 |