티스토리 뷰
인공지능을 이용한 자동매매 프로그램을 작성하려고 하는데, 사람이라는 것이 문자로 된 데이터 보다는 그래프로 일목요연하게 정보를 전달하는 것이 더 빠르고 직관적인 반응을 이끌어 낼 수 있기 때문에....
matplotlib를 사용해서 그래프를 그리기로 했음.
문제는!! 한글을 사용하려고 하면 박스형태의 깨진 글꼴이 표시된다는 슬픈 현실!

그래서 문제를 해결하고자 함.
1. 제일 먼저 해야 할 일은, 사용하고자 하는 한글 폰트를 찾아보는 겁니다.
탐색기를 열어서 폰트들이 설치되어 있는 위치로 이동을 합니다.
보통은 "C:\Windows\Fonts" 에 위치하고 있습니다.
폰트들이 설치된 위치에 가셔서, 원하는 폰트의 명칭도 파악을 해 놓습니다.

2. 기존 python 프로그램에 몇 가지 코드를 추가 해 줍니다.
가. "font_manager"를 import합니다.

나. 사용하려고 하는 폰트가 있는 위치를 지정합니다.

다. 이제 import했던 "font_manager"를 통해, 우리가 사용하려고 하는 폰트의 명칭을 확인해 보겠습니다.
"7"번 라인을 작성하고, "8"번 "print(font_name)"을 통해 "Malgun Gothic"이라는 것을 확인할 수 있었습니다.

라. 여기서 또 하나 import를 해야 하는데, 바로 요녀석 입니다.

마. 추가하는 방법은, 위에서 사용한 코드에 "rc"만 추가하면 됩니다.

바. 그리고, 아래와 같은 코드를 추가합니다.

사. 이제, 다시 프로그램을 실행시키면,, 짜잔~! 한글로 나옵니다!!!! 대~박!!

아. 이제 정리를 해서, 최종 소스는 아래와 같이 작성하면 됩니다.
가. 사용하고자 하는 폰트파일을 찾는다.
나. matplotlib에서 font_manager와 rc를 import한다.
다. font_manager().get_name()을 통해 사용하려는 폰트의 실제 이름을 확인한다.
라. rc()를 통해 폰트를 지정한다.
마. 평상시와 다름없이 코딩을 즐겁게 한다.

이제 Matplotlib를 한글을 사용해서 마음껏 그려주시면 됩니다. ㅎㅎ
'IT > Python' 카테고리의 다른 글
win32com 설치하기 (0) | 2021.10.04 |
---|---|
PyQt5 Designer로 만든 UI 연결하기 (0) | 2021.09.22 |
HTTP 응답코드 (0) | 2021.09.20 |
- Total
- Today
- Yesterday
- 숯불 꿈
- 꿈
- 단독주택
- 전자공시
- text type #analyzer #elasticsearch text type #텍스트 타입
- 숯불
- 전원주택
- elasticsearch #mapping #elasticsearch mapping
- 해몽
- "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true." #mapping #elasticsearch
- 주식투자
- python #ai #ml #matplotlib #matplotlib 한글 #한글폰트
- Sketch up
- elasticsearch #document #api #single document api #multi document api
- 나만의 단독주택
- elasticserach keyword #keyword #data type #키워드
- 꿈해몽
- 불 꿈
- SketchUp 2017
- powermockup #mockup #기획화면 #화면설계 #의사소통 #목업파일
- http #response #code #web #webserver
- 부자
- 주식투기
- 주택설계
- python #win32 #win32com #win32com install #win32com 설치하기
- 스케치 업
- 주식
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |