解决Python使用matplotlib绘图时出现的中文乱码问题RuntimeWarning: Glyph 24180 missing

本文主要是介绍解决Python使用matplotlib绘图时出现的中文乱码问题RuntimeWarning: Glyph 24180 missing,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用matplotlib生成图片但无法显示中文字体
在这里插入图片描述

报错信息:matplotlib/backends/backend_agg.py:240: RuntimeWarning: Glyph 24180 missing

原因:matplotlib 自带的字体库不支持中文

解决办法:下载中文字体>放入 matplotlib 字体库路径>修改 matplotlibrc 文件

1、在终端python 的环境下,查看字体路径

import matplotlib    
print(matplotlib.matplotlib_fname())

在这里插入图片描述

2、下载中文字体
网上常用的中文字体是 SimHei,其他字体可自行搜索下载。SimHei字体下载

3、拷贝字体到 matplotlib 的字体库
查看 matplotlib 字体库路径,将 ​​SimHei.ttf​​ 文件放入其中

在上述路径后,删除:matplotlibrc 添加 ​​/fonts/ttf​​,matplotlib 字体库的路径为

/usr/local/python3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf

将下载的 ​​SimHei.ttf​​ 文件放到字体库路径下即可。

4、修改matplotlibrc文件路径

/usr/local/python3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

找到 ​​font.serif​​​,​​font.sans-serif​​​ 所在位置,如下如所示。在冒号后面加入 ​​SimHei​​ ,保存退出。
修改为false负号正常显示 axes.unicode_minus : False
在这里插入图片描述
5、删除matplotlib的缓冲目录
在终端python 的环境下,输入如下指令,查看matplotlib的字体缓存路径:

import matplotlib
matplotlib.get_cachedir()

使用rm -rf +路径删除缓存
在这里插入图片描述
6、在编译器中继续运行代码
在这里插入图片描述
中文能够正常显示,完美解决问题!

这篇关于解决Python使用matplotlib绘图时出现的中文乱码问题RuntimeWarning: Glyph 24180 missing的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/834204

相关文章

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释