복붙노트

[PYTHON] matplotlib에서 (임의의) * .otf 또는 * .ttf 글꼴을 사용하는 방법?

PYTHON

matplotlib에서 (임의의) * .otf 또는 * .ttf 글꼴을 사용하는 방법?

모든 matplotlib 그림에서 컴퓨터의 글꼴 라이브러리 (예 : * otf 또는 * ttf)에 글꼴 유형을 사용하려면 어떻게해야합니까?

해결법

  1. ==============================

    1.다음 예제를 참조하십시오. http://matplotlib.sourceforge.net/examples/api/font_file.html

    다음 예제를 참조하십시오. http://matplotlib.sourceforge.net/examples/api/font_file.html

    일반적으로 특정 .ttf 파일을 사용하려는 경우 이와 같은 작업을 수행합니다. (특정 글꼴 파일을 가리키는 것은 대개 잘못된 생각입니다!)

    import matplotlib.font_manager as fm
    import matplotlib.pyplot as plt
    
    fig, ax = plt.subplots()
    ax.plot(range(10))
    
    prop = fm.FontProperties(fname='/usr/share/fonts/truetype/groovygh.ttf')
    ax.set_title('This is some random font', fontproperties=prop, size=32)
    
    plt.show()
    

    대개 글꼴의 이름을 가리키고 matplotlib가 특정 파일을 찾는 것에 대해 걱정하게 만듭니다. 예 :

    import matplotlib.pyplot as plt
    
    plt.plot(range(10))
    plt.title('This is some random font', family='GroovyGhosties', size=32)
    
    plt.show()
    

    matplotlib에서 항상 특정 글꼴을 사용하게하려면 .matplotlibrc 파일을 사용자 정의하십시오. (font.family는 사용자가 설정하기를 원하지만 특정 .ttf 파일의 경로가 아닌 글꼴 이름을 지정해야합니다.)

    이를 동적으로 (예 : 특정 .matplotlibrc 파일을 설정하지 않고) 수행하는 예는 다음과 같습니다.

    import matplotlib as mpl
    mpl.rcParams['font.family'] = 'GroovyGhosties'
    
    import matplotlib.pyplot as plt
    
    plt.plot(range(10))
    plt.title('Everything is crazy!!!', size=32)
    plt.show()
    

  2. ==============================

    2.* nix에서는 matplotlib의 fontconfig 백엔드를 활성화하여 모든 시스템 글꼴을 사용할 수 있습니다.

    * nix에서는 matplotlib의 fontconfig 백엔드를 활성화하여 모든 시스템 글꼴을 사용할 수 있습니다.

    그러나 matplotlib은 실제로 fontconfig 라이브러리와 통신하지 않으며 fontconfig cli 유틸리티를 실행하여 동작을 에뮬레이트합니다.

    따라서 matplotlib의 fontconfig 캐시를 새 글꼴로 인식하여 생명의 은사가 될 수 있습니다 (이 캐시의 존재는 완전한 fontconfig 통합이 부족하다는 직접적인 증거입니다).

  3. from https://stackoverflow.com/questions/7726852/how-to-use-a-random-otf-or-ttf-font-in-matplotlib by cc-by-sa and MIT license