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文件和目录操作方法大全(含实例)
Mar 12 Python
Python读写Json涉及到中文的处理方法
Sep 12 Python
Python学习小技巧之列表项的排序
May 20 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
Python实现图片拼接的代码
Jul 02 Python
Linux下多个Python版本安装教程
Aug 15 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
Dec 07 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
Python递归函数特点及原理解析
Mar 04 Python
Python unittest单元测试框架实现参数化
Apr 29 Python
python 使用tkinter+you-get实现视频下载器
Nov 17 Python
python eventlet绿化和patch原理
Nov 21 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
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
PHP闭包函数详解
2016/02/13 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
Python json模块使用实例
2015/04/11 Python
python 网络爬虫初级实现代码
2016/02/27 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
大学生涯自我鉴定
2014/01/16 职场文书
高中物理教学反思
2014/02/08 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
宣传委员竞选稿
2015/11/19 职场文书
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫
python如何查找列表中元素的位置
2022/05/30 Python