matplotlib.pyplot 일본어

Python을 사용하고 있다면 matplotlib에 신세를 질 수도 있습니다.
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3,4])
[<matplotlib.lines.Line2D object at 0x0000025E02C024F0>]
>>> plt.ylabel('日本語ラベル')
Text(0, 0.5, '日本語ラベル')
>>> plt.show()



이 근처, 선배 여러분도 여러가지 고생하고 있는 것 같아, 하기 기사를 참고로 했습니다.
  • 【초간단】 2단계만으로 matplotlib 의 일본어 표기를 대응시키는 방법
  • Matplotlib에서 쉽게 일본어를 표시하는 방법 (Windows)
  • matplotlib의 일본어


  • 아래는 Windows 환경, Linux 환경 모두에서 확인한 방법입니다.

    환경



    Windows


  • Windows10 Build 18363.959
  • Python 3.8.5
  • matplotlib 3.3.0

  • 리눅스


  • 우분투 20.04 LTS
  • Python 3.8.5
  • matploplib 3.3.0

  • 절차



    1. matplotlib에서 사용 가능한 일본어 글꼴을 찾습니다.


    >>> from matplotlib import font_manager
    >>> for i in font_manager.fontManager.ttflist:
    ...     if ".ttc" in i.fname:
    ...             print(i)
    ...
    
  • if ... in ...print(i) 의 줄에서 들여쓰기를 잊지 마세요.
    결과적으로 <Font ~> 형식으로 사용 가능한 글꼴이 표시됩니다.
    한 줄도 표시되지 않는 경우, 일본어 폰트를 사용할 수 없는 상태이므로, 별도 일본어 폰트를 인스톨 할 필요가 있습니다.
    기본적으로는, 시스템(OS)의 폰트를 사용하고 있으므로, 일본어 대응하고 있는 OS로 사용하고 있으면 괜찮다고 생각합니다만. . .

  • 폰트 관련은 공부 부족 심각하기 때문에, 대략적인 이해입니다만,
  • 폰트 파일의 크기가 작은 것은 "영숫자 기호 만", 큰 것은 "영숫자 기호 이외의 폰트도 포함된다"(문자의 종류가 증가하면 폰트의 데이터도 증가한다)
  • 확장자가 ".ttc"이면 복수의 폰트가 포함되어 있기 때문에 일본어 폰트도 들어 있는 경우가 있다.


  • 2. matplotlib.rc에서 일본어 글꼴을 지정합니다.



    위 단계에서 찾은 글꼴 정보의 "Font"바로 뒤에 있는 단일 따옴표( ' )로 묶인 문자를 지정합니다.
  • Windows 예제
  • >>> import matplotlib
    >>> matplotlib.rc('font', family='BIZ UDGothic')
    
  • Linux 예제
  • >>> import matplotlib
    >>> matplotlib.rc('font', family='Noto Sans CJK JP')
    

    이 예에서는 둘 다 고딕 문자를 지정합니다. 명조계라면 'BIZ UDMincho' (Windows), 'Noto Serif CJK JP' (Linux)를 지정합니다.

    3. 확인



    다시 그래프를 표시해 보겠습니다.
    >>> import matplotlib.pyplot as plt
    >>> plt.plot([1,2,3,4])
    [<matplotlib.lines.Line2D object at 0x0000029065E6DA30>]
    >>> plt.ylabel('日本語ラベル')
    Text(0, 0.5, '日本語ラベル')
    >>> plt.show()
    



    무사, 일본어 표시할 수 있었습니다.

    4. 확인 그 2



    그 밖의 부분도 일본어화할 수 있는지 확인했습니다.

    matplotlib_japanese.py
    import matplotlib.pyplot as plt
    import matplotlib
    
    matplotlib.rc('font', family='BIZ UDGothic')
    
    plt.bar([1, 2], [5, 10], 0.25)
    plt.bar([1.25, 2.25], [4, 8], 0.25, color='darkorange')
    plt.xlim((0.75, 2.75))
    plt.ylim((0, 12))
    
    plt.title(u'タイトル - abc')
    plt.xlabel(u'X軸')
    plt.ylabel(u'Y軸')
    plt.text(2.125, 10, u'テキスト1', ha='center')
    plt.annotate(u'アノテーション Annotate', xy=(1.125, 5), xytext=(1.3, 8), arrowprops=dict(facecolor='k', shrink=0.05))
    plt.legend([u'凡例は', 'HanRei'], loc='upper left')
    plt.show()
    

    코드 원본은 여기에서 빌렸습니다. 감사.


    잘 작동했습니다.

    좋은 웹페이지 즐겨찾기