Python Matplotlib 中文显示与负号修复配置指南

Ruby
Ruby
发布时间:2026-10-13| 3人浏览过
原创

本文详解Python Matplotlib库在Windows环境下中文无法显示及坐标轴负号异常的原因。提供两种解决方案:一是代码级动态设置字体与负号参数;二是通过修改matplotlibrc配置文件及替换字体文件实现永久生效。涵盖Anaconda环境下的具体路径操作与参数调整步骤,确保图表标签与坐标轴正常渲染。

近期在使用Python流行的绘图库Matplotlib时,遇到图例等元素中的中文无法正常显示的问题,因此决定对此进行排查与修复。

注意:本文内容主要基于Windows操作系统,其他平台用户可参考相关思路。

原因分析

根本原因在于Matplotlib库默认配置中缺乏支持中文显示的字体。

笔者安装的是Anaconda环境,其对应的Matplotlib字体存储目录如下(关于如何定位Matplotlib配置文件夹的具体方法,将在后续解决方案中详细说明,此处暂略)。

C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf

解决方案

以下整理了几种较为有效的解决策略:

方案一:每次编写代码时手动设置参数

#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#有中文出现的情况,需要u'内容'

方案二:修改配置文件(推荐,一劳永逸)

import matplotlib
matplotlib.matplotlib_fname() #将会获得matplotlib包所在文件夹

接着进入路径 C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data,在该文件夹中可以找到 matplotlibrc 配置文件。

1)打开上述配置文件,定位到以下代码行:

#font.serif : Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif

随后,移除该行代码前的注释符号即可。

2)将系统中的中文字体复制到Matplotlib的字体库中。

在Windows系统目录下找到 C:\Windows\Fonts\MicrosoftYaHeiUI 字体文件,将其复制并粘贴至 C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf 文件夹内,同时将该字体文件重命名为 Vera.ttf。

说明:此步骤的核心逻辑是用复制过来的中文字体替换Matplotlib中默认的一个字体,并将该中文字体的文件名修改为Matplotlib内部已存在的字体名称(Vera.ttf),从而使其生效。

此外,还存在其他一些解决方案,但在笔者当前的环境中未能成功应用。

补充说明

确保坐标轴负号正常显示

#去掉了注释符号,同时,改为False
axes.unicode_minus : False

具体示例

#coding:utf-8
import matplotlib.pyplot as plt
plt.plot((1,2,3),(4,3,-1))
plt.xlabel(u'横坐标')
plt.ylabel(u'纵坐标')
plt.show()

总结

以上是关于Python Matplotlib中文显示参数设置的完整解析,希望能对大家有所帮助。感兴趣的朋友还可以继续阅读本站的相关文章:

Python利用Matplotlib绘制双层饼图及环形图的简单示例

使用Matplotlib绘制等高线图的详细教程

Python实战小程序:利用Matplotlib模块绘制图形的代码分享

若文中存在不足之处,欢迎留言指正。感谢各位朋友对本站的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。