matplotlib不加额外代码显示中文的方法

it2023-09-05  72

在网上看了许多的帖子都发现多多少少有些缺陷,容易因为一些小问题而导致最后还是显示中文乱码。做了一个总结,基本上是所有的坑都踩了。

第一步:

找到Python的安装目录: 忘记安装路径的运行以下代码:

import matplotlib print(matplotlib.matplotlib_fname())

打开后下面应该有这些

准备工作:下载一个tff字体(黑体啊 宋体啊这样子) 我下载的是黑体 SimHei

下载好放进字体的tff文件夹里面。

第二步:

打开这个配置文件

随便一个能打开的就好了。打开后如下

重要的来了:有三步要改的!三步!!!

寻找font.family,找到下面的那一行代码,把前面的注释号#删掉寻找font.sans-serif,找到图示代码,还是把前面的注释号#删掉,并且添加你安装字体的名字在第一位!第一位!第一位!我安装的是黑体,字体名字在文件夹下叫做SimHei,就把 SimHei打在第一位。寻找axes.unicode_minus,把True改为Flase.;一样的,有注释删注释

在这基本就完成了。保存并关闭配置文件,再删掉这个.matplotlib文件夹,然后在cmd或者你的pycharm等中运行以下代码

from matplotlib.font_manager import _rebuild _rebuild()

到这就完工了。不用再添加其他代码,可以直接显示中文了。

import numpy as np import matplotlib.pyplot as plt m, n = (5, 3) x = np.linspace(0, 1, m) y = np.linspace(0, 1, n) X, Y = np.meshgrid(x,y) plt.title("不加额外代码显示中文") plt.xlabel("x axis caption") plt.ylabel("y axis caption") plt.plot(X, Y, marker='.', color='blue', linestyle='none') plt.show()

最新回复(0)