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 중국어 웹사이트의 기타 관련 기사를 참조하세요!