Matplotlib输出中文显示的2种解决方案

简介: Matplotlib输出中文显示的2种解决方案

在数据科学和工程领域,Matplotlib是一个非常流行的Python绘图库。然而,许多用户在使用 Matplotlib 进行图形展示时,常常遇到中文显示问题。默认情况下,Matplotlib并不支持中文字符,会导致中文显示为乱码或者根本不显示。为了解决这个问题,我们需要对Matplotlib进行适当的配置,以支持中文字符的显示。本文将介绍2种常用的解决方案。

方案 1:设置全局字体

首先,我们可以设置Matplotlib的全局字体为支持中文的字体。在 Windows系统中,可以使用“SimHei”字体。以下是如何进行设置的示例:

import matplotlib.pyplot as plt
# 设置中文字体plt.rcParams['font.family'] = 'SimHei'  # Windows系统中的中文字体
# 绘制带中文的图形plt.title('这是中文标题')plt.xlabel('横轴')plt.ylabel('纵轴')
# 显示图形plt.show()

这种方法简单易行,适用于简单的需求。仅支持的中文全局字体有以下5种:SimSun(宋体)、SimHei(黑体)、Microsoft YaHei(微软雅黑)、FangSong(仿宋)、KaiTi(楷体)。方案 2:局部指定字体

如果你不想改变全局字体设置,或者需要在不同的图形中使用不同的字体,可以使用FontProperties来局部指定字体:


import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties
# 创建一个字体对象,指定字体文件路径font = FontProperties(fname='C://Windows//Fonts//STFANGSO.TTF')
# 绘制图形,并使用 FontProperties 指定字体plt.title('这是中文标题', fontproperties=font)plt.xlabel('横轴', fontproperties=font)plt.ylabel('纵轴', fontproperties=font)
# 显示图形plt.show()

f54eed5ed05abd48ce4183b9a78ed756.png

请确保替换 fname='C://Windows//Fonts//STFANGSO.TTF' 为你系统中实际存在的中文字体文件的路径。这种方法提供了更大的灵活性,但需要注意路径的正确性。

以上就是2种在Matplotlib中显示中文字符的解决方案。根据你的操作系统、需求和个人喜好,选择一种最适合你的方法。希望这2种方法能帮助你在使用Python进行数据可视化时,避免中文显示的问题。

目录
相关文章
|
5月前
|
数据可视化 Python Windows
Matplotlib输出中文显示的2种解决方案
Matplotlib输出中文显示的2种解决方案
335 0
|
4月前
|
索引 Python
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
NumPy库中`np.where`和逻辑运算函数`np.logical_and`、`np.logical_or`、`np.logical_not`的使用方法和示例。
297 1
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
|
5月前
|
数据可视化 索引 Python
Tips:Matplotlib中柱状图Bar显示数值
Tips:Matplotlib中柱状图Bar显示数值
569 0
|
7月前
|
机器学习/深度学习 算法 Python
【Python】已解决:ModuleNotFoundError: No module named ‘sklearn‘
【Python】已解决:ModuleNotFoundError: No module named ‘sklearn‘
4937 0
|
8月前
|
缓存 Docker 容器
【docker hub镜像源失效】2024年6月6日 docker 国内镜像源失效
【docker hub镜像源失效】2024年6月6日 docker 国内镜像源失效
|
6月前
|
人工智能 监控 决策智能
震惊!多角色 Agent 携手合作,竟能如此高效搞定复杂任务,背后秘密大揭晓!
在复杂任务环境中,单个智能体常因能力与资源限制而难以应对。多智能体系统(multi-agent systems)通过将任务分解并分配给各具专长的智能体,实现了高效协同工作。例如,在物流配送中,不同智能体分别处理路线规划、货物装载与交通监控,确保任务准确高效完成。同样,在大型游戏开发项目里,各智能体专注剧情设计、美术创作等特定领域,显著提升项目质量和开发速度。通过共享信息、协商决策等方式,多智能体系统展现出强大灵活性与适应性,为物流、软件开发等领域带来新机遇。
238 2
|
数据库 Python
Django 做 migrate 时,当你的表已存在的处理方法
在开发web的时候,如果是以前已存在的项目,项目下载下来后,为了使用测试库的数据,会直接将整个测试库(如sqlite3)拿到本机来。这种情况下,如果执行的顺序不对,很容易在执行migrate的时候出现数据库已存在的错误。
|
9月前
|
存储 算法 网络虚拟化
交换机的工作原理(含实例,华为ensp操作)
交换机的工作原理(含实例,华为ensp操作)
236 0
|
9月前
|
IDE 开发工具 Python
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for MicrosoftEdge
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for MicrosoftEdge
716 3

热门文章

最新文章