Matplotlib绘图显示缺少中文字体-RuntimeWarning: Glyph 8722 missing from current font.

pyplot 并不默认支持中文显示,也没有自带中文字体,因此需要自行下载所需字体,并修改 rcParams 参数来显示中文。下面以 SimHei (黑体)字体为例进行说明。

说明:系统环境为 Linux

安装字体

1.下载 SimHei.ttf 字体文件
2.查看 matplotlib 的字体路径

import matplotlib
print(matplotlib.matplotlib_fname())

得到的路径(如 ~/.local/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc)是 matplotlib 参数预加载文件 matplotlibrc的路径,则字体的存放路径为 ~/.local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
将下载好的字体文件复制到该目录下

3.删除 matplotlib 的缓冲目录
查看 matplotlib 的字体缓存路径:

import matplotlib
print(matplotlib.get_cachedir())

得到的路径如 ~/.cache/matplotlib,在终端使用 rm -rf ~/.cache/matplotlib命令删除缓存目录。
这样做之后,在使用 matplotlib 绘图时,会自动生成新的缓存目录。

设置参数

使用 matplotlib 绘图时,添加以下几行代码:

import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams['font.family'] = 'SimHei'
matplotlib.rcParams['font.size'] = 10
matplotlib.rcParams['axes.unicode_minus']=False

''' 使用下面语句也可以
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['font.size'] = 10
plt.rcParams['axes.unicode_minus']=False
'''

这样就可以在绘图时使用该中文字体了。

也可以在前面提到的 matplotlibrc 文件中修改这些参数。这里选择在代码中修改。

几种常用的中文字体:

中文字体说明SimHei中文黑体Kaiti中文楷体LiSu中文隶书FangSong中文仿宋YouYuan中文幼圆STSong华文宋体

Original: https://blog.csdn.net/FSKEps/article/details/115348176
Author: 凌云飞鸿
Title: Matplotlib绘图显示缺少中文字体-RuntimeWarning: Glyph 8722 missing from current font.

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

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

(0)

大家都在看

  • python开发工具pycharm使用简介

    pycharm是一款常用的python开发工具,功能十分强大,并且多平台支持(Windows/MacOS/Linux),官方提供社区开源版本:pycharm Community免费…

    Python 2023年8月13日
    065
  • 使用C# 探索 ML.NET 中的不同机器学习任务

    ML.NET 是 Microsoft 开源的针对 .NET 应用程序的 跨平台机器学习库,允许您使用 C#、F# 或任何其他 .NET 语言执行机器学习任务。此外,ML.NET 支…

    Python 2023年10月26日
    034
  • Scrapy框架学习笔记:猫眼爬虫

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年10月3日
    038
  • Pytest系列(三):setup和teardown的使用

    目录 一、unittest * 分类 二、pytest * 分类 优先级 实例 一、unittest 分类 unittest框架的3个级别的前置方法和后置方法分别是:方法级别:前置…

    Python 2023年9月13日
    037
  • Django学习day01

    Django学习第一天 文章目录 Django学习第一天 * Django简介 1.Django 安装 – 1.1 安装python 1.2 通过pip命令安装Djan…

    Python 2023年8月4日
    042
  • 常用Java接单平台一览

    不少主攻Java的程序员兄弟除了工作,还会在空闲时间选择接单来增加自己的收入;对于那些生活在二三线的程序员兄弟们,通过接单,来获得与一线城市对等的收入。具体该怎么做,且听我娓娓道来…

    Python 2023年9月17日
    034
  • 进程概念——Linux

    “技术是时间积淀出来的,你能速成的东西,别人也可以速成,所以需要耐心学习” 猛戳订阅🍁🍁 👉Linux操作系统详解👈 🍁🍁 这里是目录标题 一、冯诺依曼结构…

    Python 2023年11月5日
    035
  • VUE3.0+Antdv+Asp.net WebApi开发学生信息管理系统(一)

    在B/S系统开发中,前后端分离开发设计已成为一种标准,而VUE作为前端三大主流框架之一,越来越受到大家的青睐,Antdv是Antd在Vue中的实现。本系列文章主要通过Antdv和A…

    Python 2023年6月10日
    079
  • pytest简介及jenkins集成

    pytest介绍 – unittest\nose pytest:基于unittest之上的单元测试框架 自动发现测试模块和测试方法 断言使用assert+表达式即可 可…

    Python 2023年9月12日
    052
  • Elasticsearch rest-high-level-client 基本操作

    Elasticsearch rest-high-level-client 基本操作 本篇主要讲解一下 rest-high-level-client 去操作 Elasticsearc…

    Python 2023年10月17日
    045
  • pytest的自动化测试

    pytest的自动化测试 1安装 pip install pytest pytest –version pip show pytest 2常用指令 命令命令描述pytest带任何…

    Python 2023年9月11日
    038
  • 2023java面试真题

    ​1.下列代码输出结果是() int index = 100; while ( index > 0 ){ index++; if ( index = =100 ){ brea…

    Python 2023年11月6日
    023
  • 西电数据挖掘实验3——复杂网络社团检测

    一、实验内容 复杂网络是描述复杂系统的有力工具,其中每个实体定义成一个节点,实体间的交互关系定义为边。复杂网络社团结构定义为内紧外松的拓扑结构,即一组节点的集合,集合内的节点交互紧…

    Python 2023年10月11日
    067
  • 软件设计模式白话文系列(二)单例设计模式

    确保一个类只有一个实例,并提供对该实例的全局访问。如果你创建了一个对象, 同时过一会儿后你决定再创建一个新对象, 此时你会获得之前已创建的对象, 而不是一个新对象。 这种模式涉及到…

    Python 2023年10月17日
    026
  • Kotlin语法备忘

    1、ObservableField和MutableLiveData的区别 2、Kotlin中的inline, noinline, crossinline, reified inli…

    Python 2023年11月6日
    024
  • 分布式计算 MapReduce 究竟是怎么一回事?

    前言 如果要对文件中的内容进行统计,大家觉得怎么做呢?一般的思路都是将不同地方的文件数据读取到内存中,最后集中进行统计。如果数据量少还好,但是面对海量数据、大数据的场景这样真的合适…

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