本篇内容介绍了“matplotlib字体设置方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
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)
其中在font_manager.fontManager.ttflist
中迭代到的每个对象,其name
属性即为我们下面设置字体要使用到的名称,以「华文琥珀」为例,我们先查看到其对应的字体文件名称:
接着我们写两行程序来找到其对应的名称:
接着按照plt.rcParams['font.sans-serif'] = 字体名称
的格式设置即可:
可以看到这时我们全局所有文字都变成「华文琥珀」。
如果你想要的字体不在系统默认字体中,且你只想临时使用不想安装到系统字体中,则可以利用font_manager.fontManager.addfont()
来传入字体文件路径临时注册一个字体,以我下载的三方字体文件MaShanZheng-Regular.ttf
为例:
而如果你只是想要在数据可视化作品中的部分元素譬如文字标注中临时使用一下字体,则可以利用font_manager.FontProperties()
将字体路径作为fname
参数传入,并传入到对应matplotlib
绘图API相应参数中,以text()
为例:
而刻度标签则可以参考下面的方式:
“matplotlib字体设置方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。