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 相关文章推荐
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
Python实现单词翻译功能
Jun 06 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
python网络应用开发知识点浅析
May 28 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
用python计算文件的MD5值
Dec 23 Python
正确的理解和使用Django信号(Signals)
Apr 14 Python
pandas中对文本类型数据的处理小结
Nov 01 Python
python的html标准库
Apr 29 Python
python库Tsmoothie模块数据平滑化异常点抓取
Jun 10 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 expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
php笔记之:AOP的应用
2013/04/24 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
项目实践之javascript技巧
2007/12/06 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
Unicode和Python的中文处理
2017/03/19 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python getopt模块使用实例解析
2019/12/18 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
Django配置跨域并开发测试接口
2020/11/04 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
SQL面试题
2013/04/30 面试题
商务日语毕业生自荐信范文
2013/11/14 职场文书
医院护士的求职信范文
2013/12/26 职场文书
硕士研究生自我鉴定范文
2013/12/27 职场文书
伊索寓言教学反思
2014/05/01 职场文书
网络优化专员求职信
2014/05/04 职场文书
2014年行政工作总结
2014/11/19 职场文书
个人先进事迹材料
2014/12/29 职场文书
贪污检举信范文
2015/03/02 职场文书
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫
git stash(储藏)的用法总结
2022/06/25 Servers