在使用 Python 的 Matplotlib 等库绘图时,图表中的中文显示为乱码(通常是方框或空白)是一个常见问题。这通常是因为 Matplotlib 默认使用的字体不支持中文。下面提供几种解决方案,涵盖不同操作系统。
原因
Matplotlib 默认字体库(如 DejaVu Sans)不包含中文字符,因此当尝试渲染中文时,会显示为乱码(□)。
解决方案
方法一:全局设置中文字体(最常用)
在代码开头添加以下配置,指定一个系统中存在的中文字体。
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 使用黑体
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示异常
常用中文字体名称:
-
Windows:
SimHei(黑体)、Microsoft YaHei(微软雅黑)、KaiTi(楷体) -
macOS:
Arial Unicode MS、Heiti TC、PingFang SC -
Linux:
WenQuanYi Zen Hei、Noto Sans CJK SC
你可以选择列表中第一个字体,若不存在则自动尝试后续字体:
plt.rcParams['font.sans-serif'] = ['SimHei', 'Mi


3165

被折叠的 条评论
为什么被折叠?



