Matplotlib画图中标题或者单位用指数形式表示
matplotlib画图中,坐标轴刻度值表示数值的一种尺度。当标值的数值较大(>1000) 或较小(<0.001) 时, 为简化图示使坐标轴标值的数字不超过3 位,需要对刻度值做相应的调整。同时,在画图中,对数学表达式需要设置Times New Roman字体,而中文需要设置宋体,对于这种混合表达式的字体设置。
例如用python画平均损失函数曲线,训练迭代次数大于1000,需要调整横坐标的刻度值,以10^3作为单位,同时坐标标题中中文字体设置为书宋简体,数字和英文字体设置为Times New Roman字体。
字体设置代码如下:
from matplotlib import rcParams
SuSong = matplotlib.font_manager.FontProperties(fname='D://方正书宋简体.ttf')
config = {
"font.family":'serif',
"font.size": 14,
"mathtext.fontset":'stix',
"font.serif": [SuSong],
}
rcParams.update(config)
10^3表示如下:
ax.set_ylabel('平均损失函数',fontproperties = SuSong, fontsize = 14)
plt.xlabel('迭代次数'+'$ \mathit{/10}^{3}$',fontproperties = SuSong, fontsize = 14)
参考:
https://zhuanlan.zhihu.com/p/118601703
https://blog.csdn.net/lqv587ss/article/details/84190528