扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容介绍了“matplotlib字体设置方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联是一家以网络技术公司,为中小企业提供网站维护、成都网站建设、网站建设、网站备案、服务器租用、域名与空间、软件开发、成都小程序开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站联系电话:028-86922220
matplotlib
作为数据可视化的利器,被广泛用于数据分析之中,但不太友好的是matplotlib
中书写非英文文字内容时,如果不事先对字体进行相关设置,会发现绘制出的诸如「中文」等均显示为「方块乱码」,而今天的内容,我们就来小小总结一下matplotlib
中字体设置的常用技巧。
在matplotlib
中设置字体的方法按作用范围可分为全局设置与临时设置:
我们在默认状态下使用matplotlib
书写中文内容时之所以显示出乱码,是因为matplotlib
默认的字体为英文字体,导致许多unicode
编码的语言文字都无法书写。
而全局设置字体的方式,指的是我们可以通过修改本地配置文件或在程序开头设置字体相关参数,从而人为地为当前kernel下的matplotlib
规定使用指定的字体,主要有以下几种情况:
所谓「系统自带字体」,譬如对于windows
,其系统盘Windows/Fonts
下的诸多已安装到系统中的字体:
当然,matplotlib
可以检测到的字体不止上述的这些,我们可以通过下列方式查看matplotlib
中默认已经识别到的所有可用字体:
import matplotlib.pyplot as plt
from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
# 查看字体名以及对应的字体文件名
print(font.name, '-', font.fname)
图3
其中在font_manager.fontManager.ttflist
中迭代到的每个对象,其name
属性即为我们下面设置字体要使用到的名称,以「华文琥珀」为例,我们先查看到其对应的字体文件名称:
接着我们写两行程序来找到其对应的名称:
图5接着按照plt.rcParams['font.sans-serif'] = 字体名称
的格式设置即可:
可以看到这时我们全局所有文字都变成「华文琥珀」。
如果你想要的字体不在系统默认字体中,且你只想临时使用不想安装到系统字体中,则可以利用font_manager.fontManager.addfont()
来传入字体文件路径临时注册一个字体,以我下载的三方字体文件MaShanZheng-Regular.ttf
为例:
而如果你只是想要在数据可视化作品中的部分元素譬如文字标注中临时使用一下字体,则可以利用font_manager.FontProperties()
将字体路径作为fname
参数传入,并传入到对应matplotlib
绘图API相应参数中,以text()
为例:
而刻度标签则可以参考下面的方式:
图10“matplotlib字体设置方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流