>백엔드 개발 >파이썬 튜토리얼 >matplotlib 한자 표시 문제 해결 방법 공유

matplotlib 한자 표시 문제 해결 방법 공유

WBOY
WBOY원래의
2024-01-04 08:59:351413검색

matplotlib 한자 표시 문제 해결 방법 공유

Matplotlib의 한자 깨짐 문제 해결 방법 공유

Matplotlib는 풍부한 그리기 기능을 제공하는 강력한 데이터 시각화 라이브러리이지만, 중국 환경에서는 글자 깨짐 문제가 자주 발생합니다. 이 기사에서는 Matplotlib의 중국어 문자 깨짐 문제를 해결하는 여러 가지 방법을 공유하고 구체적인 코드 예제를 제공합니다.

방법 1: 기본 글꼴 설정

Matplotlib에서 사용하는 기본 글꼴은 한자를 지원하지 않습니다. 기본 글꼴을 설정하면 왜곡되는 문제를 해결할 수 있습니다. 먼저 "SimHei", "Microsoft YaHei" 등과 같이 현재 시스템에서 중국어를 지원하는 글꼴 이름을 결정해야 합니다. 다음으로 matplotlib.rcParams를 사용하여 글꼴을 설정합니다.

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置默认字体为SimHei
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 绘图代码
plt.plot([1, 2, 3, 4])
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.title('示例图')

plt.show()

위 코드를 사용하여 기본 글꼴을 "SimHei"로 설정하고 axis.unicode_minus를 False로 설정하여 Matplotlib에 표시되는 음수 기호 문제를 해결할 수 있습니다. 이런 식으로 한자를 정상적으로 표시할 수 있습니다.

방법 2: 사용자 정의 글꼴 파일 사용

시스템에 기본적으로 중국어를 지원하는 글꼴이 없는 경우 사용자 정의 글꼴 파일을 사용하여 왜곡 문제를 해결할 수 있습니다. 먼저 "msyh.ttc"와 같이 한자를 지원하는 글꼴 파일을 다운로드해야 합니다. 다음으로 FontProperties를 사용하여 사용자 정의 글꼴을 로드합니다.

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r'path/to/msyh.ttc')  # 加载自定义字体

# 绘图代码
plt.plot([1, 2, 3, 4])
plt.xlabel('横坐标', fontproperties=font)
plt.ylabel('纵坐标', fontproperties=font)
plt.title('示例图', fontproperties=font)

plt.show()

위 코드를 사용하여 사용자 정의 글꼴 파일을 FontProperties에 로드하고 글꼴 속성 매개변수를 사용하여 도면에 사용할 글꼴을 지정합니다. 이런 식으로 한자를 정상적으로 표시할 수도 있습니다.

방법 3: 아이콘을 사용하여 한자 표시

때때로 전역 설정 대신 범례, 레이블 등 특정 위치에만 한자를 표시해야 하는 경우가 있습니다. 특정 위치에 글꼴을 지정하면 글자가 깨져 보이는 문제를 해결할 수 있습니다. 예를 들어, 범례에 중국어 문자를 사용하려면 Fontproperties 매개변수를 사용할 수 있습니다.

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r'path/to/msyh.ttc')  # 加载自定义字体

# 绘图代码
plt.plot([1, 2, 3, 4], label='曲线', color='r')
plt.legend(prop=font)  # 图例中使用中文字符
plt.xlabel('横坐标')
plt.ylabel('纵坐标')

plt.show()

위 코드에서는 범례에 한자 "곡선"을 사용하고 prop 매개변수를 통해 사용자 정의 글꼴 사용을 지정합니다. 이런 식으로 특정 위치에 한자를 올바르게 표시할 수 있습니다.

요약하자면, 기본 글꼴을 설정하고, 사용자 정의 글꼴 파일을 사용하고, 특정 위치에 글꼴을 지정함으로써 Matplotlib 중국어 왜곡 문제를 해결할 수 있습니다. 적절한 방법을 선택하면 데이터 시각화에서 한자를 더 잘 표시할 수 있습니다.

위 내용은 matplotlib 한자 표시 문제 해결 방법 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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