Matplotlib 中文显示

简介: Matplotlib 中文显示

Matplotlib 中文显示不是特别友好,要在 Matplotlib 中显示中文,我们可以通过两个方法:

设置 Matplotlib 的字体参数。
下载使用支持中文的字体库。
在未设置字体,默认情况显示如下,中文部分不能正常显示:

Matplotlib 的字体参数
我们可以先获取系统的字体库列表:

实例
from matplotlib import pyplot as plt
import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
print(i)
输出结果类似如下:

...
Heiti TC
Helvetica
Helvetica Neue
Herculanum
Hiragino Maru Gothic Pro
Hiragino Mincho ProN
Hiragino Sans
Hiragino Sans GB
Hoefler Text
...
以上代码输出 font_manager 的 ttflist 中所有注册的名字,找一个看中文字体例如:STFangsong(仿宋)、Heiti TC(黑体),然后添加以下代码即可。

对于 Windows:

plt.rcParams['font.family'] = 'SimHei' # 替换为你选择的字体
在 Windows 系统上,选择 SimHei(黑体)或其他中文字体,并将其设置为 Matplotlib 的默认字体。

对于 Linux:

plt.rcParams['font.family'] = 'WenQuanYi Micro Hei' # 替换为你选择的字体
在Linux系统上,使用 fc-list 命令查看已安装的字体,选择一个中文字体,并将其设置为 Matplotlib 的默认字体。

对于 macOS:

plt.rcParams['font.family'] = 'Heiti TC' # 替换为你选择的字体
通过设置 plt.rcParams['font.family'],你告诉 Matplotlib 使用选择的字体来渲染文本,从而在图表中正确显示中文。

这样,你就能够在 Matplotlib 图表中使用系统支持的中文字体了。

实例
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = 'Heiti TC' # 替换为你选择的字体

创建数据

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

绘制折线图

plt.plot(x, y)

添加标题和标签

plt.title('折线图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')

显示图形

plt.show()
这样中文就可以正常显示了,显示如下:

使用字体库
Matplotlib 默认情况不支持中文,我们可以使用以下简单的方法来解决。

这里我们使用思源黑体,思源黑体是 Adobe 与 Google 推出的一款开源字体。

官网:https://source.typekit.com/source-han-serif/cn/

GitHub 地址:https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese

打开链接后,在里面选一个就好了:

你也可以在网盘下载: https://pan.baidu.com/s/10-w1JbXZSnx3Tm6uGpPGOw,提取码:yxqu。

可以下载个 OTF 字体,比如 SourceHanSansSC-Bold.otf,将该文件文件放在当前执行的代码文件中:

SourceHanSansSC-Bold.otf 文件放在当前执行的代码文件中:

实例
import numpy as np
from matplotlib import pyplot as plt
import matplotlib

fname 为 你下载的字体库路径,注意 SourceHanSansSC-Bold.otf 字体的路径

zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf")

x = np.arange(1,11)
y = 2 * x + 5
plt.title("菜鸟教程 - 测试", fontproperties=zhfont1)

fontproperties 设置中文显示,fontsize 设置字体大小

plt.xlabel("x 轴", fontproperties=zhfont1)
plt.ylabel("y 轴", fontproperties=zhfont1)
plt.plot(x,y)
plt.show()
执行输出结果如下图:

目录
相关文章
|
移动开发 数据可视化 weex
如何在线生成App:将网页封装成APP
随着移动互联网的快速发展,很多企业和个人都希望能够将自己的网页封装成APP,以便更好地适应用户的移动需求。本文将介绍一种在线生成App的方法,帮助读者实现将网页封装成APP的目标
707 0
|
3月前
|
SQL 人工智能 算法
大厂校招变了:AI 能力正在进入笔试和面试
今年校招AI能力成硬通货:技术岗考AI辅助工程(拆需求、识错误、融流程),非技术岗考AI驱动业务(方案判断、活动闭环、流程优化)。关键不在“会不会用”,而在“能否带判断力将AI深度融入工作流并交付高质量结果”。
|
6月前
|
XML Linux BI
Python自动办公工具-设置Word文档中表格的格式
本项目适合需要快速标准化表格样式或实现条件格式化的场景
781 12
|
8月前
|
数据采集 缓存 自然语言处理
爱企查 item_search - 按关键字搜索企业列表接口对接全攻略:从入门到精通
爱企查item_search接口(searchV3)支持按关键词、行业、地区等多维度筛选企业信息,返回名称、信用代码、法人、风险等级等基础数据,适用于供应商筛选、市场调研与风控。接口采用HTTPS+Token认证,数据源自工商权威渠道,合规稳定。本指南覆盖权限申请、开发对接、调试优化全流程,助力高效集成。
|
Python
Matplotlib 教程 之 Matplotlib 中文显示 4
Matplotlib 中文显示教程,介绍如何通过设置字体参数或下载支持中文的字体库(如思源黑体)来实现在 Matplotlib 中正确显示中文。示例代码展示了如何使用思源黑体设置图表标题和轴标签的中文显示。
551 0
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
722 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
定位技术 Python
Matplotlib imshow() 方法
Matplotlib imshow() 方法
925 10
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
1383 4
|
Linux Python Windows
Matplotlib 中设置自定义中文字体的正确姿势
【11月更文挑战第16天】Matplotlib 默认不支持中文字体显示,需手动配置。方法包括:1) 修改全局字体设置,适用于整个脚本;2) 局部设置特定元素的字体;3) 使用系统字体名称,但可能因系统而异。通过这些方法可以有效解决中文乱码问题,确保图表中文本的正确显示。
1923 3