我在用matplotlib画图时,发现中文不显示,呈现出小方块的样子,如下图所示,横纵坐标中文不显示。我找了好多的资料,也发现确实Ubantu系统没有中文,你需要去安装一些字体,但是我的需求是只有画图的时候才会用到中文,一般情况下都是英文,因此,我想到了最简单的方式,就是直接下载一个字体样式版本,放在画图代码的根目录下用就行,虽然治标不治本,但是正常的画图使用是没有问题的。
比如我想用SIMSUN.TTC(宋体)和TIMES.TTC(新罗马)这两个字体。
你可以自己去博客下载,也可以去window下复制。
window下的位置一般在:C:\Windows\Fonts
你将你想要的字体复制下来,放在你Ubantu系统中画图的代码下,如下图所示,demo.py是画图的代码,SIMSUN.TTC和TIMES.TTC是两个字体样式。(其实你只要知道你的字体放在什么位置就行,一会儿要用到。)
接下来,就需要我们在代码中引用这两个字体样式。
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimSun'] # 设置中文字体为宋体
plt.rcParams['font.serif'] = ['Times New Roman'] # 设置英文字体为 Times New Roman
plot_x = [1, 2, 3, 4, 5]
plot_y = [1, 2, 3, 4, 5]
plt.figure(figsize=(14, 10))
plt.plot(plot_x, plot_y)
plt.xlabel('轴标签')
plt.ylabel('轴标签')
# 其他画图操作...
plt.show()
plt.savefig('./MRegre.png', format='png')
最终的效果: