Matplotlib의 기본 설정 폰트 Sans-serif에 한글이 포함돼있지 않아서 matplotlib뿐만 아니라 얘를 기반으로 하는 라이브러리들을 사용할 때 한글을 지원하는 폰트를 따로 지정해주지 않으면 깨져있는 네모네모를 보며 살아야된다. 뭔 데이터인지 알 수가 없다.
근데 또 매번 폰트 지정해주기는 귀찮다. 그렇다고 데이터분석을 때려칠까. ? ㅇ제일 좋은 방법임. 하지만 하고는 싶은데 귀찮은 경우를 위해 (물론 코드 외워버리기, 체화하기, 구글링하기, 메모장에 코드 짱박아놓기, ChatGPT활용하기, 키보드에 단축키로 메크로 설정.. 등등 다양한 방법이 있지만 다 귀찮아서- 나는 이제껏.. 내 노트북 안쓰고 intel에서 제공해주는 컴퓨터 돌려서 걍 바탕화면에 코드조각 늘어놓고 썼다.......ㅋ지금은 그럴 수 없다. ㅠㅠ) Matplotlib의 설정 파일을 바꿔주기로 했다. 나는 가상환경에서 실행했지만서도 default파일을 건드리는건 좀 쫄리기 때문에 .config폴더를 파고 원본을 복붙해서 넣어주고 내가 원하는대로 커스터마이징 후 rc파일만 여기 참조하라고 환경변수를 설정해주는 식으로 가기로 했다.
먼저 원본 matplotlibrc파일 경로를 찾으려고
print(matplotlib.matplotlib_fname())
돌려봄
내 원본 경로는 대충 이런스타일
opt/anaconda3/envs/sparta/lib/python3.12/site-packages/matplotlib/mpl-data
mpl-data폴더 안에 있었다.
matplotlibrc파일 찾아서 통으로 복사해주고
가상환경 폴더(sparta)로 나온다.
거기다가 일단 .config폴더 생성.
또 거기에 matplotlib폴더 생성.
거기 안에 복사 해놨던 파일 붙여넣었다.
복사한 파일 열어줌
ctrl+F 해서 FONT섹션 찾아주고
젤 아래에
font.family: AppleGothic #Korean
axes.unicode_minus: False # minus error
넣어줌. 주석은 대충 내가 알아볼 수 있게 씀
그리고 원본파일말고 내가 만든파일 먼저 적용해주소.라고 환경 변수 설정을 해야됨
mkdir -p /Users/어쩌고/opt/anaconda3/envs/sparta/etc/conda/activate.d
라고일단 디렉토리 만들어준다.
디렉토리 안에 환경 변수 설정 스크립트 생성ㄱ
touch /Users/어쩌고/opt/anaconda3/envs/sparta/etc/conda/activate.d/env_vars.sh
스크립트 파일 연다
vim /Users/어쩌고/opt/anaconda3/envs/sparta/etc/conda/activate.d/env_vars.sh
스트립트에
export MPLCONFIGDIR=/Users/choisubin/opt/anaconda3/envs/sparta/.config/matplotlib
적는다.
저장 후 종료는
esc눌러서 command모드로 빠져나오고, :wq차례대로 누르셈
conda deactivate하고 conda activate 가상환경이름(나는 sparta)
해서 가상환경 재활성화 해준다.
echo $MPLCONFIGDIR
bash 입력해서 내가 만든 .config경로와 matplotlibrc파일이 있는 곳이 잘 나오면 여기까지 성공
++가상환경 안에 jupyter notebook 설치돼있는지 확인해라.
pip show notebook
안돼있으면 설치해라.
pip install notebook ipykernel
가상환경을 Jupyter Kernel에 등록해라
python -m ipykernel install --user --name=내부식별이름 display-name "Jupyter Notebook에서 표시될 이름"
matplotlib캐시초기화해야하는 경우가 있을 수도 있을 것 같음 나는 괜찮았음
'Python to AI' 카테고리의 다른 글
Python - Pandas, Scikit-learn, SciPy(데이터 전처리 : 데이터 정규화와 표준화) (4) | 2024.12.11 |
---|---|
Python - Pandas(데이터 전처리 : 이상치 탐지 및 처리) (10) | 2024.12.10 |
Python - Pandas(데이터 전처리 : isna(), isnull() ) (3) | 2024.12.10 |
Python - Pandas(데이터 변형 : 그룹화, 집계, 피벗테이블) (4) | 2024.12.09 |
Python - Pandas(데이터 변형 : 정렬, 병합) (1) | 2024.12.09 |