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 dict.get()和dict['key']的区别详解
Jun 30 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
Python读取指定日期邮件的实例
Feb 01 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
python数据类型可变不可变知识点总结
Mar 06 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
Mar 24 Python
python如何删除列为空的行
Jul 17 Python
详解Python描述符的工作原理
Jun 11 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 Python
python保存图片的四个常用方法
Feb 28 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中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
js常用代码段收集
2011/10/28 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
wxPython使用系统剪切板的方法
2015/06/16 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
python实现kmp算法的实例代码
2019/04/03 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
一些Solaris面试题
2015/12/22 面试题
2014年三八妇女节活动总结
2014/03/01 职场文书
个人安全承诺书
2014/05/22 职场文书
商务英语专业求职信
2014/06/26 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
优秀班组事迹材料
2014/12/24 职场文书
结婚保证书
2015/01/16 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书