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 相关文章推荐
Win7上搭建Cocos2d-x 3.1.1开发环境
Jul 03 Python
Python实现从url中提取域名的几种方法
Sep 26 Python
python操作gmail实例
Jan 14 Python
Python 功能和特点(新手必学)
Dec 30 Python
Python抓取电影天堂电影信息的代码
Apr 07 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
关于Python作用域自学总结
Jun 10 Python
win8.1安装Python 2.7版环境图文详解
Jul 01 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
Feb 10 Python
Python与C/C++的相互调用案例
Mar 04 Python
python中的None与NULL用法说明
May 25 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
第一个无线电台是由谁发明的
2021/03/01 无线电
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
php实现的RSS生成类实例
2015/04/23 PHP
js代码实现微博导航栏
2015/07/30 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
Linux操作面试题
2015/02/11 面试题
护理职业应聘自荐书
2013/09/29 职场文书
教师辞职报告范文
2014/01/20 职场文书
工作态度检讨书
2014/02/11 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
詹天佑教学反思
2014/04/30 职场文书
迎七一演讲稿
2014/09/12 职场文书
武侯祠导游词
2015/02/04 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
重阳节主题班会
2015/08/17 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL