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多进程操作实例
Nov 21 Python
Python中的面向对象编程详解(上)
Apr 13 Python
Python中tell()方法的使用详解
May 24 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
python 实现对文件夹内的文件排序编号
Apr 12 Python
Python实现的个人所得税计算器示例
Jun 01 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
Python任务调度利器之APScheduler详解
Apr 02 Python
解决Python import .pyd 可能遇到路径的问题
Mar 04 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
python 快速排序代码
2009/11/23 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
利用python绘制正态分布曲线
2021/01/04 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
大学生村官事迹材料
2014/01/21 职场文书
社区义诊活动总结
2014/04/30 职场文书
建筑工地质量标语
2014/06/12 职场文书