2017-12-11 2 views
0

matplotlib 그림의 텍스트 요소에 대해 시스템에 설치되지 않은 사용자 정의 ttf 글꼴을 사용하려고합니다.설치되지 않은 사용자 글꼴로 matplotlib.pyplot.rcparams를 사용하십시오.

with plt.style.context('mplparams.mplstyle'): 
    plt.plot(np.sin(np.linspace(0, 3 * np.pi)), '-o') 

FontManager를 사용하여 텍스트 속성을 변경할 수 있지만 외부 설정 파일 만 포함하는 솔루션을 찾고 있습니다.

현재 글꼴 경로가 아닌 글꼴 이름을 font.sans-serif (으)로 변경할 수 있음을 알고 있습니다.

이것이 가능합니까?

답변

1

사용할 글꼴을 Fontmanager에 알려야합니다. 그렇지 않으면 플롯에 가져올 수 없습니다. rcParams를 통해 글꼴을 지정하려면이 글꼴이 matplotlib가 찾을 폴더에 있어야합니다. 아무것도 설치하지 않으려는 경우 .ttf 파일을 matplotlib 글꼴 폴더에 복사 할 수 있습니다. 제 경우에는

python\Lib\site-packages\matplotlib\mpl-data\fonts 

입니다. 그런 다음 font.chache를 지울 필요가 있습니다. print(matplotlib.get_cachedir())을 통해 경로를 찾아 fontList 파일을 삭제하십시오. (또는 원하는 경우 먼저 백업하십시오).

그런 다음 rcParam이

font.sans-serif : <name of font> 

를 지정한 스크립트를 실행하거나 또한 this question를 참조

plt.rcParams['font.sans-serif'] = "<name of font>" 

사용합니다.

+0

그래서 시스템 글꼴이나 mpl 글꼴 디렉토리에 복사하지 않고 rcParams에서 직접 ttf 파일에 대한 경로를 사용할 수 없습니까? – shadesofdarkred

+0

rcParams에서는 경로를 사용할 수 없습니다. 무슨 일이 여전히 가능할지 모르겠지만 글꼴을 기본 검색 경로 밖에 있거나 검색 경로를 조작하는 경로에서 Fontmanager로로드 할 글꼴을 가져온 후 rcParams에 글꼴 이름을 지정하는 것이 어떻게되는지는 알 수 없습니다. 일부 맞춤 경로를 포함합니다. – ImportanceOfBeingErnest

+0

나는 ..이게 차선책이기 때문에 나는이 대답을 받아 들일 것이다. 감사! – shadesofdarkred

관련 문제