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爬取Coursera课程资源的详细过程
Nov 04 Python
Python中的生成器和yield详细介绍
Jan 09 Python
Python中的异常处理简明介绍
Apr 13 Python
简单分析Python中用fork()函数生成的子进程
May 04 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
Python中函数参数匹配模型详解
Jun 09 Python
Python中的self用法详解
Aug 06 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
Python Tkinter Entry和Text的添加与使用详解
Mar 04 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
python实现图片,视频人脸识别(opencv版)
Nov 18 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中常用的预定义变量小结
2012/05/09 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
php数组随机排序实现方法
2015/06/13 PHP
php中Snoopy类用法实例
2015/06/19 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
Python 列表(List)操作方法详解
2014/03/11 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
《在大海中永生》教学反思
2014/02/24 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
英语教育专业自荐信
2014/05/29 职场文书
个性车贴标语
2014/06/24 职场文书
小学社团活动总结
2014/06/27 职场文书
组工干部对照检查材料
2014/08/25 职场文书
师德师风自查总结
2014/10/14 职场文书
2014年度思想工作总结
2014/11/27 职场文书
教学督导岗位职责
2015/04/10 职场文书
任长霞观后感
2015/06/16 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书