EC2 리눅스 스트림릿 대시보드, 차트에 한글 출력하는 방법
1. 한글 폰트 설정하기 자세한 설명은 전 포스팅으로 작성했다. https://msdev-st.tistory.com/99
- 설치 코드만 모아두기 _순서대로 하면 네이버 나눔폰트 설치 완료!
$ sudo yum install fontconfig
$ curl -o nanumfont.zip http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
$ sudo unzip -d /usr/share/fonts/nanum nanumfont.zip
$ sudo fc-cache -f -v
$ fc-list
2. 파이썬 버전과 폰트 설치 위치, 캐시 정보가 담기 폴더 이름을 알아야한다.
- 파이썬 터미널 들어가기
$ python
- 파이썬 에디터 _ 폴더 경로 메모장에 적어두고 기억하기
matplotlib 버전확인 : >>> import matplotlib
>>> print(matplotlib.__version__)
설치 폴더 경로 확인 : >>> print(matplotlib.__file__)
내 경로 -> /home/ec2-user/anaconda3/lib/python3.11/site-packages/matplotlib/__init__.py
캐시 폴더 경로 확인 : >>> print(matplotlib.get_cachedir())
내 경로 -> /home/ec2-user/.cache/matplotlib
- 에디터에서 나오기
ctrl + D
3. matplotlib에 한글 폰트 추가하기
- 나의 설치 폴더 경로에 맞게 폰트를 복사한다
$ sudo cp -r /usr/share/fonts/truetype/nanum/Nanum* 아까 확인한 설치 폴더 위치+mpl-data/fonts/ttf/
내 설치 명령어 _폰트 폴더에 모든 파일 복사
$ sudo cp -r /usr/share/fonts/* /home/ec2-user/anaconda3/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/
- matplotlib의 폰트 캐시를 삭제하여 새로 설치한 폰트를 업데이트 한다. _ 내 캐시 폴더 경로 입력
$ rm -rf /home/ec2-user/.cache/matplotlib/*
4. 한글 폰트 matplotlib 에 잘 있는지 확인하기
- 코드 입력 시 리스트가 보이면, 정상적으로 한글 폰트가 추가된 것이다.
- 파이썬 터미널 들어가기
$ python
- 파이썬 에디터
>>> import matplotlib
>>> import matplotlib.font_manager
폰트 전체 확인 : >>> [i.fname for i in matplotlib.font_manager.fontManager.ttflist]
나눔 폰트 설치 확인 : >>> [f.name for f in matplotlib.font_manager.fontManager.ttflist if 'Nanum' in f.name]
5. 스트림릿 대시보드 개발툴에서 matplotlib 의 출력 폰트를 한글 폰트로 지정
- 소스 코드를 파일 최상단에 배치하여 설치한 글씨체의 이름을 입력하면 된다.
- 소스 코드 설명 : 운영체제가 리눅스인 경우, matplotlib 의 폰트를 나눔고딕으로 변경한다.
# Streamlit File *.py
import platform
import matplotlib.pyplot as plt
from matplotlib import font_manager, rc
plt.rcParams['axes.unicode_minus'] = False
if platform.system() == 'Linux':
rc('font', family='NanumGothic')
완료!! 서버에서 출력되는 matplotlib의 차트들을 보면 한글로 잘 나와있는 것을 확인할 수 있다!!
'AWS SERVER' 카테고리의 다른 글
[AWS] S3 버킷 만들기 _ 스토리지 만들어서 사용하기 (0) | 2024.05.28 |
---|---|
[AWS] Credential(자격증명) 만들기 _IAM Users(사용자) (0) | 2024.05.23 |
[AWS] 계정 폐쇄 문제 해결하기 (0) | 2024.04.26 |
[AWS] 스트림릿 EC2 서버에서 24시간 365일 실행되도록 하는 방법, 서비스 끄는 방법 (0) | 2024.04.26 |
[AWS] EC2에 소스코드 수정사항을 반영하는 방법 (0) | 2024.04.26 |