[Google Colab] 구글 코랩 Matplotlib 한글 깨짐 문제 해결

2024. 12. 9. 14:51·Category/Note
728x90

Google Colab에서 Matplotlib 한글 깨짐 문제

Google Colab에서 Matplotlib를 사용하여 그래프를 그릴 때 한글 제목이나 라벨이 깨져서 제대로 표시되지 않는 문제가 발생할 수 있습니다. Google Colab 환경에서 Matplotlib 한글 깨짐 문제를해결하는 방법을 안내합니다.

문제의 원인

  1. Google Colab에는 기본적으로 한글 폰트가 설치되어 있지 않습니다.
  2. Matplotlib는 설치된 폰트를 기반으로 텍스트를 렌더링하는데, 한글 폰트가 없으면 텍스트가 깨져 보입니다.
  3. 폰트를 설치해도 캐시를 초기화하거나 런타임을 재시작하지 않으면 새 폰트가 제대로 반영되지 않습니다.

해결 방법

1. 나눔 폰트 설치

Google Colab 환경에 한글 폰트(NanumBarunGothic)를 설치합니다.

!sudo apt-get install -y fonts-nanum

2. 폰트 캐시 초기화

설치된 폰트를 Colab 시스템에 반영하기 위해 폰트 캐시를 초기화합니다.

!sudo fc-cache -fv

3. Matplotlib 캐시 삭제

Matplotlib는 캐시에 저장된 기존 폰트를 계속 사용하려 하기 때문에, 캐시를 삭제하여 새로운 폰트를 인식하도록 합니다.

!rm ~/.cache/matplotlib -rf

4. 런타임 재시작

위 과정을 모두 마친 후 런타임을 재시작하세요. 재시작하지 않으면 설치된 폰트가 반영되지 않습니다.

5. 나눔 폰트 적용 및 한글 그래프 그리기

아래 Python 코드를 실행하여 나눔 폰트를 적용한 후 한글이 제대로 표시되는지 확인합니다.

import matplotlib.pyplot as plt

# 나눔 폰트를 matplotlib 기본 폰트로 설정
plt.rc('font', family='NanumBarunGothic')

# 테스트 데이터
name = "서울"
result = [1000, 1200, 1300, 1400, 1500]  # 예시 데이터

# 그래프 그리기
plt.figure(figsize=(5, 3))
plt.title(name + " 지역의 연령별 인구분포 현황")
plt.bar([x for x in range(len(result))], result)
plt.xlabel("연령")
plt.ylabel("인구수")
plt.show()

전체 과정 요약

  1. 나눔 폰트 설치:
    !sudo apt-get install -y fonts-nanum
  2. 폰트 캐시 업데이트:
    !sudo fc-cache -fv
  3. Matplotlib 캐시 삭제:
    !rm ~/.cache/matplotlib -rf
  4. 런타임 재시작.
  5. Python 코드에서 나눔 폰트 적용:
    plt.rc('font', family='NanumBarunGothic')
 
728x90

'Category > Note' 카테고리의 다른 글

[Lombok] 유연한 객체 생성 방법 @Builder  (0) 2024.12.31
파이썬 프로젝트 종속성 관리하기 requirements.txt  (0) 2024.12.10
Streamlit으로 누구나 만드는 웹 애플리케이션  (1) 2024.12.08
알고리즘 탐색 문제 유형별 좌표 변수명 가이드  (0) 2024.11.25
SVG vector icon이 필요할 때  (0) 2024.11.14
'Category/Note' 카테고리의 다른 글
  • [Lombok] 유연한 객체 생성 방법 @Builder
  • 파이썬 프로젝트 종속성 관리하기 requirements.txt
  • Streamlit으로 누구나 만드는 웹 애플리케이션
  • 알고리즘 탐색 문제 유형별 좌표 변수명 가이드
Corinee
Corinee
  • Corinee
    Coding Note
    Corinee
  • 전체
    오늘
    어제
    • 분류 전체보기 (361)
      • Category (354)
        • Algorithm (7)
        • SQL (2)
        • Java (4)
        • C (9)
        • React (7)
        • JavaScript (9)
        • CSS (2)
        • Node (1)
        • SpringBoot (26)
        • Database (3)
        • Network (1)
        • Django (6)
        • Python (22)
        • Flask (4)
        • iOS (25)
        • Swift (4)
        • Flutter (11)
        • Dart (3)
        • Git (1)
        • Firebase (1)
        • Gof (1)
        • 정보처리기사 (112)
        • AI (5)
        • NestJs (4)
        • Docker (1)
        • 사이드 프로젝트 (1)
        • Note (80)
        • Socket (1)
        • 개인 정보 처리 방침 (1)
        • 면접 (0)
        • Vue.js (0)
      • Archive (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    semver)
    mermaid-cli
    inp
    react
    중첩 함수(nested function)
    stdlib.h
    Jest
    jackson 라이브러리
    intellij 콘솔 한글 깨짐
    프로세스 강제 종료
    chrome extension 자동 배포
    json.parse(json.stringify())
    시맨틱 버전(semantic versioning
    mcp server
    Collections
    react router
    소프트웨어 버전 관리
    counter
    public vs assets
    ajax (asynchronous javascript and xml)
    named export vs default export
    structuredclone()
    core web vitals
    x.y.z (메이저.마이너.패치)
    useEffect
    defaultdict
    styled-components
    쉽게 풀어쓴 C언어 Express
    원시값(primitive)
    math.h
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Corinee
[Google Colab] 구글 코랩 Matplotlib 한글 깨짐 문제 해결
상단으로

티스토리툴바