쉬운 문제로 들리지만 파이썬에서 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