问题说明:
在VSCode中使用Python的matplotlib绘图函数时,中文字符显示乱码。
代码如下:
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-8, 8, 0.1 )
e = math.e
sigmoid = 1 / (1 + e ** (-x))
plt.title("Sigmoid激活函数")
plt.plot(x , sigmoid)
plt.show()
运行后效果如下图:
可以发现对于plt.title("Sigmoid激活函数")语句中的中文显示不出来。
解决方案:
从Windows系统中找到中文字体的.ttf格式文件
文件夹对应路径:C:\Windows\Fonts
右键字体,打开属性,记录文件名并复制该文件 # 这里以宋体为例
文件名为simsun;复制该文件,到matplotlib中mpl-data下fonts/ttf文件夹
在电脑中找到matplotlibrc文件并用编译器打开 # 这里我用的是VSCode
Ctrl+F,找到并修改如下两项:
①font.family
②axes.unicode_minus
统一去掉①②两项前#符号,将①后改为前步中所复制字体文件名;将②后True改为False
如下图:
保存之后,重新运行出问题的编辑器内核。
重新运行出问题的代码,发现成功显示中文。