Python Matplotlib 设置显示中文(中文乱码)

发布时间 2024-01-07 21:27:11作者: leviliang

 

Matplotlib中文显示问题通常与字体设置和系统环境相关。本文主要介绍Python Matplotlib 设置中文字体的方法,以及相关的示例代码。

1、使用font_manager的FontProperties解决

通过FontProperties来设置字符及大小,来解决中文显示的问题,代码如下,

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties  # 步骤一


font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)  # 步骤二
plt.xlabel("x轴", fontproperties=font) # 步骤三
plt.ylabel("y轴", fontproperties=font)
plt.title("标题", fontproperties=font)
plt.show()

2、使用matplotlib中方法的fontproperties参数解决

通Matplotlib中xlabel()ylabel()title()的参数直接指定字体,代码如下,

import matplotlib.pyplot as plt

plt.xlabel("x轴")
plt.ylabel("y轴", fontproperties="SimSun") # 步骤一    (宋体)
plt.title("标题", fontproperties="SimHei") #          (黑体)
plt.show()

3、使用matplotlib的rcParams来解决

使用matplotlib的rcParams设置字体,会全局生效,如不想全局生效,可以参考上面的方法。

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False   # 步骤二(解决坐标轴负数的负号显示问题)
#...

plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("标题")
plt.show()

更多内容:Python Matplotlib 设置显示中文(中文乱码)-CJavaPy