matplotlib 设置绘图时显示中文
时间:2022-07-22
本文章向大家介绍matplotlib 设置绘图时显示中文,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
matplotlib绘图时,经常会遇到中文字体显示为方块的问题。网上有很多解决方案,比较普遍的是在代码里增加下面两行。
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
不过并不一定能解决问题。本文记录一下我在mac系统下解决这个问题的过程。
1.下载中文字体SimHei
搜索“SimHei.ttf”等相关关键字即可,如果找不到,后台回复“mpl中文”即可获取字体文件。
2.运行代码,查看matplotlib的字体文件夹
mpl.matplotlib_fname()
matplotlibrc
是matplotlib的配置文件。字体文件夹在它同级目录下的fonts目录的子文件夹ttf中。即:
/Users/admin/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf
3.将第一步获取的字体文件拷贝到第二步中的ttf文件夹中,可以使用cp命令或者打开文件夹拖拽。
4.修改配置文件matplotlibrc
,涉及三处改动
- 打开配置文件,搜索定位到
#font.family : sans-serif
,去掉行首的#
- 打开配置文件,搜索定位到
#font.serif:
在冒号后面增加SimHei,
上面两步做完后效果如下图:
- 打开配置文件,搜索定位到
axes.unicode_minus
,把默认的False
改为True
修改好之后记得保存。
5.运行代码重新加载配置
from matplotlib.font_manager import _rebuild
_rebuild()#执行该函数加载字体配置
上面的代码会使以上的修改和配置生效。如果是在jupyter中,可能需要重启kernel或重启服务。
6.检查效果
可以看到,横纵坐标的中文标签已经正常显示了,并且此时不需要在代码中增加额外的设置代码,加载配置的代码也不需要每次都运行。如果没有生效,可以检查一下配置文件是否正确修改了。
以上步骤在Mac OS 下亲测有效,windows下的配置也大致相同,可以尝试一下。
以清净心看世界;
用欢喜心过生活。
超哥的杂货铺,你值得拥有~
长按二维码关注我们
推荐阅读
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】 原创
- Linux(Ubuntu 18.04)上安装Anaconda步骤详解
- php web环境和命令行环境下查找php.ini的位置
- PHP大文件分块上传功能实例详解
- Linux 命令行通配符及转义符的实现
- Python爬虫抓取指定网页图片代码实例
- PHP变量作用域(全局变量&局部变量)&global&static关键字用法实例分析
- CentOS 7 安装Chrome浏览器的方法
- PHP高级编程之消息队列原理与实现方法详解
- thinkphp5.1框架模板布局与模板继承用法分析
- Linux内核设备驱动之内存管理笔记整理
- Matplotlib 绘制饼图解决文字重叠的方法
- Yii 实现数据加密和解密的示例代码
- 3分钟看懂Python后端必须知道的Django的信号机制
- Hadoop 2.X新特性回收站功能的讲解