2012-10-08 2 views
7

나는하기 matplotlib에서 TTF 글꼴을 사용하려고 해요; .ttf 파일이 다운로드되어 내 컴퓨터에 로컬로 저장됩니다. 나는 font_manager를 사용하여 글꼴을 선택하는 other instructions on this site을 따랐습니다; 그러나 글꼴 속성을 사용하려고 생성 한 모든 텍스트는 기본 matplotlib 글꼴에 계속 표시됩니다.matplotlib에서 내가 제공 한 .ttf 글꼴을 사용하지 않는 이유는 무엇입니까?

prop.get_name()과 비슷한 명령이 내가 원하는 글꼴의 속성을 보여주기 때문에 파이썬이 글꼴 파일을 성공적으로 찾았다는 것을 알고 있습니다.하지만 그것은 내 그림에 나타나는 것이 아닙니다. 어떤 제안? 예를 들어

:

때문에 사용하는 백엔드의
import matplotlib.pyplot as plt 
import matplotlib.font_manager as fm 

fig, ax = plt.subplots() 

prop = fm.FontProperties(fname='/Users/smith/fonts/coolfont.ttf') 
ax.set_title('Text in a cool font', fontproperties=prop, size=40) 

fig.show() 
+1

는 –

+0

나는 MPL 디렉토리에있는 글꼴 캐시 파일을 삭제 (~/.matplotlib, 예를 들면)에 MPL 디렉토리에 글꼴 캐시를 지워보세요. 코드를 다시 실행해도 결과는 변경되지 않습니다. 심지어 내 MPL 데이터/글꼴/디렉토리에 글꼴, 글꼴 Manager' 결코 플롯 창에 표시되는 내용을 변경하지'에서 다른 가족의 이름을 설정 - 나는 그냥 특정 * .TTF 폰트를 사용하지 않는 것 있습니다 것입니다. – kwill

+0

흠. 내가 생각할 수있는 유일한 것은 당신의 4 라인을 변경하는 것입니다 :'소품 = fm.FontProperties을 (FNAME의 = 'coolfont') ' –

답변

4

의를.

MacOS 인 기본 백엔드와 비슷한 작업을 시도했을 때 cairo 백엔드에서 작동하지 않았습니다.

그러나 나는 aggTKagg로 전환하고 사용자 정의 글꼴이 있었다 귀하의 예제를 실행하면. 내 컴퓨터

#!/usr/bin/env python 
import matplotlib 
matplotlib.use("agg") 
import matplotlib.pyplot as plt 
import matplotlib.font_manager as fm 

fig, ax = plt.subplots() 
prop = fm.FontProperties(fname='Outwrite.ttf') 
ax.set_title('Text in a cool font', fontproperties=prop, size=40) 
plt.show() 
plt.savefig('test.png') 

결과 이미지는 사용자 정의 글꼴입니다에 실행되도록 다음

는 코드가 수정됩니다.

+1

이것은 Python 3 condo 환경에서 iPython 노트북을 실행하는 OSX Yosemite에서 내 문제를 해결했습니다. – wil3

관련 문제