Python matplotlib修改默认字体的操作


Posted in Python onMarch 05, 2020

matplotlib库作为Python常用的数据可视化库,默认字体居然不支持中文字体,必须得吐槽一下~

闲言少叙,开始正文

方法1:在plot中指定prop参数

使用matplotlib.font_manager下的FontProperties加载中文字体

调用函数时通过prop属性指定中文字体

import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
x_data = ['2011', '2012', '2013', '2014', '2015', '2016', '2017']
# 定义2个列表分别作为两条折线的Y轴数据
y_data = [58000, 60200, 63000, 71000, 84000, 90500, 107000]
y_data2 = [52000, 54200, 51500,58300, 56800, 59500, 62700]
# 指定折线的颜色、宽度、线形
ln1, = plt.plot(x_data, y_data, color='red', linewidth=2.0,
        linestyle='--', label='A书年销量')
ln2, = plt.plot(x_data, y_data2, color='blue', linewidth=2.0,
        linestyle='-.', label='B书年销量')
# 使用my_font存出一个加载的中文字体
my_font = fm.FontProperties(fname='C:\Windows\Fonts\YaHei.Consolas.1.12.ttf')
# 赊着prop参数未该字体
plt.legend(loc='best', prop=my_font)
plt.show()
var foo = 'bar';

方法2:修改matplotlib默认字体

1、使用交互行获取matplotlib配置文件的保存位置

>>>import matplotlib
>>>matplotlib.matplotlib_fname()
'G:\\Anaconda3\\envs\\PyProjects\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'

2、打开文件,找到如下行

# font.family : sans-serif

3、修改字体为系统中能够加载中文的字体(这里我用的是SimHei,即黑体)

font.family : SimHei

当然用Yahei Consolas Hybrid也是可以的(需要自己安装),但是Microsoft Yahei和msyh都试过了,会报错,具体原因有待考证~

补充知识:修改 matplotlib 的默认配置添加雅黑字体

根据anaconda安装路径找到配置文件

E:\software\anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc

打开, 找到 font.sans-serif 删掉注释,添加即可

Python matplotlib修改默认字体的操作

重新启动 jupyter notebook即可

在新开启的文件中输入,就可以正常显示汉字

import matplotlib as mpl
mpl.rcParams['font.serif'] = ['SimHei']

以上这篇Python matplotlib修改默认字体的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python虚拟环境virualenv的安装与使用
Dec 18 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
python调用xlsxwriter创建xlsx的方法
May 03 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
Django框架实现的简单分页功能示例
Dec 04 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 Python
python函数的万能参数传参详解
Jul 26 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 Python
python游戏开发之pygame实现接球小游戏
Apr 22 Python
Django 返回json数据的实现示例
Mar 05 #Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 #Python
python画图常规设置方式
Mar 05 #Python
解决python -m pip install --upgrade pip 升级不成功问题
Mar 05 #Python
python入门之井字棋小游戏
Mar 05 #Python
解决Python图形界面中设置尺寸的问题
Mar 05 #Python
python实现简单井字棋小游戏
Mar 05 #Python
You might like
php一些公用函数的集合
2008/03/27 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
Nodejs中自定义事件实例
2014/06/20 NodeJs
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
Vuex简单入门
2017/04/19 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
微信小程序如何实现精确的日期时间选择器
2020/01/21 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python实现的简单发送邮件脚本分享
2014/11/07 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
对pandas中to_dict的用法详解
2018/06/05 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
仓库班组长岗位职责
2013/12/12 职场文书
大学军训感言
2014/01/10 职场文书
计算机软件专业求职信
2014/06/10 职场文书
群众路线对照检查剖析材料
2014/10/09 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
放假通知范文
2015/04/14 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
民间借贷借条如何写
2015/05/26 职场文书
2015团员个人年度总结
2015/11/24 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python