>  기사  >  백엔드 개발  >  matplotlib 한자 표시 문제를 해결하는 빠른 팁과 단계

matplotlib 한자 표시 문제를 해결하는 빠른 팁과 단계

WBOY
WBOY원래의
2024-01-04 11:26:051179검색

matplotlib 한자 표시 문제를 해결하는 빠른 팁과 단계

matplotlib 중국어 문자 깨짐을 빠르게 해결하기 위한 팁과 단계

matplotlib를 사용하여 그래픽을 그릴 때 중국어 문자 깨짐 문제에 자주 직면합니다. matplotlib에서는 기본적으로 영어 글꼴을 사용하는데, 중국어의 경우 표시되는 텍스트가 제대로 표시되지 않기 때문입니다. 하지만 이 문제를 해결하고 그래픽이 중국어를 올바르게 표시할 수 있도록 하기 위해 취할 수 있는 몇 가지 간단한 방법과 단계가 있습니다.

1. 기본 글꼴 변경

matplotlib은 기본 글꼴을 사용하여 텍스트를 표시합니다. 먼저 우리가 사용하고 있는 글꼴 파일을 찾아야 합니다. 다음 코드를 사용하면 현재 시스템에 설치된 글꼴을 볼 수 있습니다.

import matplotlib.font_manager as fm
font_list = fm.findfont(fm.FontProperties())
print(font_list)

이 코드는 시스템에 설치된 글꼴 경로를 인쇄합니다. 글꼴 파일 중 하나를 중국어 글꼴로 선택할 수 있습니다.

다음으로 선택한 글꼴을 matplotlibrc 구성 파일에서 기본 글꼴로 설정해야 합니다. matplotlibrc 파일의 위치를 ​​찾습니다(다음 코드를 사용하여 해당 위치를 얻을 수 있습니다):

import matplotlib
print(matplotlib.matplotlib_fname())

발견된 matplotlibrc 파일에서 다음 두 매개변수를 찾습니다.

#font.serif : Times New Roman, ...
#font.sans-serif : Arial, ...

이 두 매개변수의 값을 선택한 글꼴 파일의 이름은 다음과 같습니다. 예:

font.serif : SimHei
font.sans-serif : SimHei

수정된 matplotlibrc 파일을 저장하고 Python 환경을 다시 시작합니다.

2. 지정된 글꼴 사용

한 도면에서 지정된 글꼴을 사용해야 하는 경우 다음 코드를 사용할 수 있습니다.

import matplotlib.pyplot as plt
font = {'family' : 'SimHei',
        'weight' : 'normal',
        'size'   : 14}

plt.rc('font', **font)

그 중 'family' 매개변수는 글꼴 이름을 지정하고 ' Weight' 매개변수는 글꼴의 두께를 지정하고, 'size' 매개변수는 글꼴의 크기를 지정합니다. 이러한 방식으로 후속 도면에서 지정된 글꼴을 사용할 수 있습니다.

다음으로 구체적인 예를 살펴보겠습니다.

import matplotlib.pyplot as plt
import numpy as np

font = {'family' : 'SimHei',
        'weight' : 'normal',
        'size'   : 14}

plt.rc('font', **font)

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.plot(x, y)
plt.title('正弦曲线')
plt.xlabel('x轴')
plt.ylabel('y轴')

plt.show()

이 예에서는 SimHei 글꼴을 사용하여 제목, x축 및 y축 레이블을 설정했습니다.

위의 두 가지 방법을 통해 matplotlib의 한자 깨짐 문제를 빠르게 해결할 수 있습니다. 기본 글꼴을 변경하든 각 도면에서 지정된 글꼴을 사용하든 그래픽이 중국어로 명확하게 표시되도록 할 수 있습니다. matplotlib를 사용하여 중국어 그래픽을 그리는 데 이 글이 도움이 되기를 바랍니다.

위 내용은 matplotlib 한자 표시 문제를 해결하는 빠른 팁과 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.