programing

matplotlib (python)에서 글꼴을 변경하는 방법은 무엇입니까?

projobs 2021. 1. 18. 07:28
반응형

matplotlib (python)에서 글꼴을 변경하는 방법은 무엇입니까?


쉬운 문제로 들리지만 파이썬에서 matplotlib로 만든 플롯에서 글꼴 (글꼴 크기가 아님)을 변경하는 효과적인 해결책을 찾지 못했습니다.

참조 - 나는하기 matplotlib 저장 기본 글꼴이 어디 폴더에 어떤 파일을 수정하여하기 matplotlib의 기본 글꼴을 변경하려면 자습서의 몇 가지 발견 이 블로그 게시물을 -하지만 내가 한 것보다 더 사용하고 싶습니다 때문에 내가 덜 급진적 인 솔루션을 찾고 있어요 내 플롯의 글꼴 ​​(텍스트, 레이블, 축 레이블 등).


제목에는 Comic Sans를, x 레이블에는 Helvetica를 원한다고 가정 해 보겠습니다.

csfont = {'fontname':'Comic Sans MS'}
hfont = {'fontname':'Helvetica'}

plt.title('title',**csfont)
plt.xlabel('xlabel', **hfont)
plt.show()

를 사용 rcParams하여 글꼴 모음을 전역으로 변경할 수도 있습니다 .

 import matplotlib.pyplot as plt
 plt.rcParams["font.family"] = "cursive"
 # This will change to your computer's default cursive font

matplotlib의 글꼴 패밀리 인수 목록은 여기에 있습니다 .


다음을 선호합니다.

from matplotlib import rc
#rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
rc('font',**{'family':'serif','serif':['Times']})
rc('text', usetex=True)

import pylab as plb
plb.rcParams['font.size'] = 12

또는

import matplotlib.pyplot as mpl
mpl.rcParams['font.size'] = 12

Helvetica 글꼴은 Windows에 포함되어 있지 않으므로 사용하려면 .ttf 파일로 다운로드해야합니다. 그런 다음 다음과 같이 matplotlib를 참조 할 수 있습니다 ( "crm10.ttf"를 파일로 대체).

import os
from matplotlib import font_manager as fm, rcParams
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

fpath = os.path.join(rcParams["datapath"], "fonts/ttf/cmr10.ttf")
prop = fm.FontProperties(fname=fpath)
fname = os.path.split(fpath)[1]
ax.set_title('This is a special font: {}'.format(fname), fontproperties=prop)
ax.set_xlabel('This is the default font')

plt.show()

print(fpath) .ttf를 어디에 넣어야하는지 보여줄 것입니다.

여기에서 출력을 볼 수 있습니다 : https://matplotlib.org/gallery/api/font_file.html

참조 URL : https://stackoverflow.com/questions/21321670/how-to-change-fonts-in-matplotlib-python

반응형