Python matplotlib修改默认字体的操作
matplotlib库作为Python常用的数据可视化库,默认字体居然不支持中文字体,必须得吐槽一下~
闲言少叙,开始正文
方法1:在plot中指定prop参数
使用matplotlib.font_manager下的FontProperties加载中文字体
调用函数时通过prop属性指定中文字体
importmatplotlib.pyplotasplt importmatplotlib.font_managerasfm 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() varfoo='bar';
方法2:修改matplotlib默认字体
1、使用交互行获取matplotlib配置文件的保存位置
>>>importmatplotlib
>>>matplotlib.matplotlib_fname()
'G:\\Anaconda3\\envs\\PyProjects\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'
2、打开文件,找到如下行
#font.family:sans-serif
3、修改字体为系统中能够加载中文的字体(这里我用的是SimHei,即黑体)
font.family:SimHei
当然用YaheiConsolasHybrid也是可以的(需要自己安装),但是MicrosoftYahei和msyh都试过了,会报错,具体原因有待考证~
补充知识:修改matplotlib的默认配置添加雅黑字体
根据anaconda安装路径找到配置文件
E:\software\anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc
打开,找到font.sans-serif删掉注释,添加即可
重新启动jupyternotebook即可
在新开启的文件中输入,就可以正常显示汉字
importmatplotlibasmpl
mpl.rcParams['font.serif']=['SimHei']
以上这篇Pythonmatplotlib修改默认字体的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。