matplotlib原生不支持中文,为了在论文中愉快的使用matplotlib,可以采用如下方法(windows 和 ubuntu都可以使用):
下载我提供的字体文件 TimesSong.ttf。这个字体文件中文部分为宋体字符,英文部分为 Times New Roman
将 TimesSong.ttf 放在任意位置,并复制路径
在绘图之前,运行如下代码,注意将【 fname = 'filepath/TimesSong.ttf' 】换成你自己的文件路径
【注】下载链接:https://mbd.pub/o/bread/Y56XmJZs
matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesfrom matplotlib import rcParams%matplotlib inline # 如果使用jupyter# 全局设置字体及大小,设置公式字体即可,若要修改刻度字体,可在此修改全局字体config = {"mathtext.fontset":'stix',"font.family":'serif',"font.serif": ['SimSun'],"font.size": 10,# 字号,大家自行调节'axes.unicode_minus': False# 处理负号,即-号}rcParams.update(config)# 载入TimesSong(下载链接中),将'filepath/TimesSong.ttf'换成你自己的文件路径SimSun = FontProperties(fname='filepath/TimesSong.ttf')
测试代码:
import numpy as npx = np.linspace(0, 10, 1000)# 作图plt.figure(dpi = 200)plt.plot(x, np.sin(x), label=u"宋 - 1")plt.plot(x, np.cos(x), label=u"宋 - 2")# 测试plt.legend()plt.title(u'宋体 title') # 中英文测试plt.xlabel(u'宋体 xlabel')plt.ylabel('$y_{label}$') # 公式测试plt.text(3, 0.5, u"test")# 保存,savefig函数在下载链接中savefig("usestix")
效果展示:
【注】:大家需要拥有 宋体 和 Times New Roman 字体的授权
如果觉得《解决 matplotlib 字体问题最简单的方法 将matplotlib更改字体为 宋体 TimesNewRoman》对你有帮助,请点赞、收藏,并留下你的观点哦!