利用Matplotlib绘图时,无法显示中文字体的解决方案

我在利用Pycharm中的matplotlib库进行绘图的时候,出现了一个问题,当我将所绘的图的横,纵坐标,希望加上一个中文描述的时候,比如,’横坐标’,’纵坐标’类似这样的描述方法。出现了很多人都会出现的一个问题。

import matplotlib.pyplot as plt

squares = [1, 4, 9, 16, 25]
fig, ax = plt.subplots()
ax.plot(squares, linewidth=3)
#设置图表标题并给坐标轴加上标签。
ax.set_title("主题", size=14)
ax.set_xlabel("横坐标", size=14, color='red')
ax.set_ylabel("纵坐标", size=14, color='red')

ax.tick_params(axis='both', labelsize=14)
plt.show()

结果不出意外成为了这样

利用Matplotlib绘图时,无法显示中文字体的解决方案

最开始以为是我的pycharm软件的语言配置出现了,问题,后来左改一下,右改一下,发现并没有什么作用,喜欢对问题刨根问底的我,查询很多资料发现出现这样的问题是因为Matplotlib库中没有与所输入的中文字符匹配的语言,所以无法正常显示中文,所以在这里把解决方案分享给大家。

pycharm显示的错误如下:

UserWarning: Glyph 32437 (\N{CJK UNIFIED IDEOGRAPH-7EB5}) missing from current font.

FigureCanvasAgg.draw(self)

解决方式:

首先应该查询一下matplotlib中拥有哪些语言。可以通过以下代码实现:

from matplotlib.font_manager import FontManager

mpl_fonts = set(f.name for f in FontManager().ttflist)

print('all font list get from matplotlib.font_manager:')
for f in sorted(mpl_fonts):
    print('\t' + f)

然后软件显示结果中我们可以发现一系列包含中文的语言格式,例如Microsoft YaHei,YouYuan等

对于这个问题我就比较疑惑了,既然他有最后却无法成功显示,废话不多说,直接上干货,既然他有这种语言,那么我们在程序里,将他设置成包含中文语言就可以,实现方式如下:

import matplotlib
matplotlib.rc("font", family='Microsoft YaHei')

这两行代码,就将显示图片时的语言设置成为了 Microsoft YaHei,也就是我们电脑里面常用的微软雅黑这种字体

运行程序,结果不出所料地显示了中文:

import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='Microsoft YaHei')

squares = [1, 4, 9, 16, 25]
fig, ax = plt.subplots()
ax.plot(squares, linewidth=3)
#设置图表标题并给坐标轴加上标签。
ax.set_title("主题", size=14)
ax.set_xlabel("横坐标", size=14, color='red')
ax.set_ylabel("纵坐标", size=14, color='red')

ax.tick_params(axis='both', labelsize=14)
plt.show()

结果如下:

利用Matplotlib绘图时,无法显示中文字体的解决方案

参阅文献: https://www.cnblogs.com/houfei/p/13489409.html

Original: https://blog.csdn.net/kuwola/article/details/122409200
Author: 机器想学习
Title: 利用Matplotlib绘图时,无法显示中文字体的解决方案

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/763956/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python+Flask+SQLite+Pytorch开发Web水稻病虫害图像识别程序

    六稻 码云代码地址 介绍 本识别项目通过对于用户所上传的水稻图片进行分析,识别出相应的病虫害,通过这种方法帮助种植用户进行虫害的识别 技术栈 开发语言python前端layui,j…

    Python 2023年8月13日
    0130
  • opencv飞机大战年度巨制

    参考连接 我写在最前面了希望各路神仙给我点c币吧参考资源 一、项目背景(1) 项目简介:利用基于OpenCv-python 的现有姿态识别模块实现对手部姿势的识别,来控制基于pyg…

    Python 2023年9月18日
    053
  • 详解redis网络IO模型

    前言 “redis是单线程的” 这句话我们耳熟能详。但它有一定的前提,redis整个服务不可能只用到一个线程完成所有工作,它还有持久化、key过期删除、集群…

    Python 2023年10月13日
    045
  • django 1.11 向 django2 django3 过渡的 注意点

    1 django 1.11.11 的路径 为 url开头,集合了字符串匹配及 正则匹配 2 django 1.11.11 需要使用pymysql ,需要在 项目的 init.py …

    Python 2023年6月12日
    054
  • 01-初识 pygame 游戏开发

    你好,我是悦创。接下来三十天,我将持续更新 Python pygame 的基础游戏开发教程。文章都会对应视频教程,视频教程将在公众号:AI悦创,发布。 目录 本次,文章目标: Py…

    Python 2023年9月20日
    050
  • Python趣味入门8:集合变量-列表、集合、元组、字典

    1、前言 凛东将至,琼恩·雪诺当上司令官命令山姆威尔去南方,到旧镇学习成为一个学士再回黑城堡。山姆发现如要熟练在图书馆中查询藏书,必须熟悉”列表”、&#82…

    Python 2023年5月24日
    077
  • python中flask模块_Python:没有名为“flask”的模块

    所以我在这个问题上已经有一段时间了。对于我的一个文件,它正在工作,它允许我使用flask框架。用这个密码。在from flask import Flask, render_temp…

    Python 2023年8月15日
    039
  • Multisim调幅和解调电路仿真实验

    实验目的及任务 熟悉三类调幅(AM、DSB、SSB)的基本原理,设计AM、DSB仿真电路,观察输出波形。 实验原理 (1)常规调幅AM 振幅调制就是用调制信号去控制高频率的载波信号…

    Python 2023年11月8日
    041
  • golang中的nil接收器

    我们先看一个简单的例子,我们自定义一个错误,用来把多个错误放在一起输出: type CustomError struct { errors []string } func (c *…

    Python 2023年10月18日
    037
  • Django学习记录

    这篇博客为个人学习记录,不定期更新 另外,博客是博主使用Markdown语法写完后直接导入的,可能会存在外链图片失效、章节重复等问题,为节约时间,博主不打算处理,仅作为个人查询技术…

    Python 2023年8月4日
    049
  • 十年测试经验的阿里p10讲解python初阶:函数和模块 python全栈自动化测试系类4-2

    还是老规矩,大家可能对凡哥不是很了解这里先和大家来个自我介绍 凡哥我已经有着十二年互联网自动化测试和测试开发工程师,拥有丰富的自动化测试平台及测试开发经验,擅长接口测试、Pytho…

    Python 2023年8月4日
    040
  • 如何使用 Python 实现彩票自由(大乐透)

    前言 有没有小伙伴喜欢买股票的,我自己是不会玩的,不是不想玩,是真的挽不回,只能玩比较简单一点的刮刮乐。虽然我不会买股 票,但是用python分析股票还是简简单单的… …

    Python 2023年11月2日
    055
  • python熵权法过程中,权重出现nan值问题

    最近在利用熵权法选取最优指标数据时,计算权重得到的是全为nan值的权重,经过分析过程,找到问题所在。 熵权法步骤: step 1 :标准化处理 step 2 : 计算每个维度的信息…

    Python 2023年8月19日
    069
  • 体验最近火爆的ChatGPT

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年11月3日
    041
  • 数据统计与可视化复习总结(二):非参数检验、生存分析

    前面所介绍的各种检验法,是在总体分布类型已知的情况下,对其中的 未知参数进行检验统称为 参数检验. 在实际问题中,有时我们并不能确切预知总体服从何种分布,这时就需要根据来自总体的样…

    Python 2023年10月14日
    048
  • Python数据分析学习笔记(二)——数据清洗及特征处理

    一、缺失值的观察与处理 通常拿到的数据中含有很多缺失值,需要经过数据清洗达到可以分析的标准。处理缺失值一般有三种思路: 将缺失值置为一个常数 使用函数DataFrame.filln…

    Python 2023年8月16日
    056
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球