引言
最近在学习 Matplotlib库的过程当中,遇到了一个让我比较费解的问题,Matplotlib库为什么支持中文呢。 而且还需要自己手动去配置?怎么这么不智能呀!
了解
在叙述问题之前,我们先了解一下 Matplotlib库是干什么的?
Matplotlib库其实就是Python库非常强大的一个绘图工具,这个库中已经封装好了很多图形的函数,我们只要提供数据,然后调用想要的图形函数, Matplotlib就会为我们进行绘制。
在使用 Matplotlib库之前,我们需要通过pip进行 Matplotlib库的安装,windows版本的的安装命令是: pip install matplotlib
安装完成后,可以在编辑器中使用import matplotlib
看是否能够引入成功,基本上不报错,能打印出版本号,就是安装成功了。了解的内容大概就介绍这么多。
python
import matplotlib
print(matplotlib.__version__)
# 结果输出
# 3.8.2
问题
我在学习 Matplotlib库的轴标签和标题这一节的时候,遇到了一个就是相同的代码,但是放到不同位置,控制台的结果反而不一样,这让我感觉挺莫名其妙的。
首先呢,我们要画一个带有标题的线图,那就按照步骤:先提供数据,然后设置标题,最后将内容展示到画布上就ok了,来,我们上效果图看看。
这样我们是没问题的,因为我们时常肯定得设置中文标题的,所以改成中文试试。。。
因为Matplotlib 默认情况不支持中文,我们得先去官网下载开源字体,然后导入到项目中去,这一部分可以看文档,很简单。然后将我们的字体导入并进行引用。 我们先看一下没有引入字体的时候是什么情况。
看到没,控制台一片红海呀,大概翻译出来就是代码中应使用铭文。反正看了官方文档,给你建议也是下载字体,或者使用使用设置默认字体。
我们进行字体的引入和设置看看最终效果。
感悟
至于Matplotlib库为什么不支持中文,因为它默认的字体设置并不包括支持中文字符的字体,而且在不同的操作环境和编码环境的情况下,可能使用的字体或者编码方式不同,这可能会影响中文字符的显示,或者系统报错之类的问题,可能是为了避免这些问题,所以需要开发者自己去进行配置吧。
但是这对于我们初学者来说无疑增加了额外的工作量,但是不趟这趟坑,又怎么会提升自己呢。