2017-02-07 2 views
16

미니 콩다 가상 환경에서 Python 3에 matplotlib 버전 2.0.0을 사용하고 있습니다. 나는 루트 권한이없는 유닉스 과학 컴퓨팅 클러스터에서 일하고있다. 나는 일반적으로 ipython 노트북을 통해 파이썬 코드를 실행하고있다. 내가 같은 기본 명령을 할 경우 내가 좋아하는 것 Matplotlib에서 기본 글꼴을 찾을 수 없습니다.

path_to_miniconda/miniconda3/envs/conda34/lib/python3.4/site- 
packages/matplotlib/font_manager.py:1297: UserWarning: findfont: Font family 
['sans-serif'] not found. Falling back to DejaVu Sans 
(prop.get_family(), self.defaultFamily[fontext])) 

가 굴림 글꼴을 사용할 수 있지만, 심지어 글꼴 캐시 파일을 삭제 한 후 수 :

import matplotlib.pyplot as plt 
plt.scatter([1,5], [1,5]) 

나는 오류 메시지가

import matplotlib as mpl 
fm = mpl.font_manager 
fm.get_cachedir() 

명령 :

mpl.rcParams['font.family'] = ['serif'] 
mpl.rcParams['font.serif'] = ['Times New Roman'] 
을 여기에서 찾을 수 있습니다 (fontList.py3k.cache)3210

효과가 없습니다. 위와 같은 오류가 발생합니다. 트루 타입 글꼴 디렉토리 :

path_to_miniconda/miniconda3/envs/conda34/lib 디렉토리/python3.4/사이트 패키지 /하기 matplotlib/MPL 데이터/글꼴/TTF 만의 그것은 40 개 글꼴이/

유형 : DejaVuSerif, DejaVuSans, STIX, cmb, cmt, cmy

어떤 일이 벌어지고 어떻게 추가 글꼴을 추가 할 수 있습니까? 감사! 나를 위해

+0

나는 동일한 문제가있었습니다. fm.get_cachedir() 팁을 가져 주셔서 감사합니다. 잘못된 캐시를 지우고 이제는 작동합니다! 고맙습니다 :) –

답변

7

이 작품 ::

$ sudo apt-get install msttcorefonts -qq 
+0

Docker 사용자는 라이센스 계약에 자동으로 동의해야합니다 :'RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections''apt-get install -y ttf-mscorefonts-installer' –

9

나는 우분투 주객 관계의 64 비트를 실행하는 방랑 VM에이 동일한 문제를 가지고 있었다. 이미 설치 한 글꼴의 수에 관계없이 matplotlib는 "시스템"글꼴 이름 "sans-serif"에 문제가있었습니다. 하기 matplotlib 캐시 디렉토리를 청소 sudo apt install font-manager

  • : rm ~/.cache/matplotlib -fr
  • 다시 시작 Jupyter 글꼴 관리자 설치 Jupyter
  • 중지

    • : 나는하여 고정.

    sans-serif에 대한 더 이상 오류 메시지가 없습니다.

  • 관련 문제