乐趣区

关于python:matplotlib完美显示中文

在应用 matplotlib 进行可视化时,一个令人头疼的问题就是 如何正确的显示中文,有时你百度后各种尝试,可能遇到中文还是显示一堆有效的框框,那么本文就将提供三种解决办法,心愿可能帮忙到大家。

首先咱们须要晓得,为什么中文不能被正确显示?比方你应用 plt.title('可视化图鉴') 增加中文题目,matplotlib 在输入文字时就去以后的字体文件中去查找这几个字,然而很遗憾没有找到。

所以 实质上就是 matplotlib 的中文字体文件没有被正确设置 。在上面给出的三个解决办法中,我不能确保肯定能对你的电脑失效(毕竟有些时候因为环境导致的差别的确很麻烦),然而只有你清晰了解决思路( 让 matplotlib 正确找到中文字体文件),肯定能搞定!

一、麻烦但肯定能解决的方法

首先给出的是一个 99% 概率能让你正确显示中文的办法,但不是一劳永逸的方法,所以略显麻烦。

下面咱们说了,之所以不能输入中文,就是因为 matplotlib 找不到中文字体文件,怎么办?咱们就强制指定一个中文字体文件, 按住 matplotlib 的头,让他遇到中文就读取这个字体

比方咱们先下载一个想要的中文字体文件,比方微软雅黑吧,下载到本地并复制它的 绝对路径 ,而后应用font_manager.FontProperties 读取这个字体,定义为WRYH

`import matplotlib.pyplot as plt
import matplotlib as mpl

WRYH = mpl.font_manager.FontProperties(fname = ‘/opt/python_env/py_39_op/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf’) # SimHei 字体
`

之后在须要输入中文的中央,增加 fontproperties = WRYH 即可应用咱们刚刚读取的中文字体,比方设置中文题目

`plt.title(‘ 可视化图鉴 ’,fontproperties = WRYH)
`

中文正确进去了有没有!实践上这个方法忽视环境,不管 Mac 还是 Win 下,只有你的中文字体文件门路没有问题,肯定能把中文显示进去

然而正如题目所说的:麻烦 ,只有须要输入中文,你就要加上fontproperties = WRYH 这么一句话,如果要设置题目、图例、坐标轴、正文等多个中文的话,那么每制作一张图就须要复制粘贴很屡次,工作量就下来了。

所以这个办法实用于紧急应用或者在十分用电脑下,没空折腾其余办法时应用。

退出移动版