Matplotlib画图LaTeX更改图中的坐标字体以及上下标

出图

导入包并且设置文字格式,要求是中文为黑体,英文字体改成和Times New Roman相似的stix

import matplotlib.pyplot as plt
from matplotlib import rcParams
# 画图字体的修改
config = {
    "font.family":'serif',
    "font.size": 12,
    "mathtext.fontset":'stix',
    "font.serif": ['SimSun'],
}
rcParams.update(config)
plt.rcParams["font.sans-serif"] = ["SimHei"]

首先是图中各项指标,在输出的时候就转化为LaTeX字符格式,后续输出的时候直接就是宋体格式

# 先求出数据指标 并进行文本文字编辑
r2 = r'$\mathrm{R^2='+str(r2_score(Y_pred,Y).round(k))+'}$'
mse = r'$\mathrm{MSE='+str(mean_squared_error(Y_pred,Y).round(k))+'}$'
pre = r'$\mathrm{PRE='+str("%.2f" % PRE(Y_pred,Y))+'}$'+'%'
N = r'$\mathrm{N='+str(len(Y))+'}$'

 画图设置横纵坐标文字格式以及标题格式,上标是 ^ 下标是 _,需要注意采用mathrm输出的文字需要用{}括起来,采用_^标记的上下标也要括起来格式基本上为,因为中文不需要设置的stix格式,因此直接输出在mathrm外面

$\mathrm{xxxxx}$xxxx
# 画图 
fig,ax = plt.subplots()
ax.set_xlabel(r'$\mathrm{PM_{2.5}}$真实值/'+'$\mathrm{(μg·m^{-3})}$')
ax.set_ylabel(r'$\mathrm{PM_{2.5}}$预测值/'+'$\mathrm{(μg·m^{-3})}$')
ax.set_title(r'$\mathrm{'+str(model)+'}$')

 这里设置文本的位置需要不断调试

# 设置文本
fig.text(.16,.85,func,horizontalalignment='left',verticalalignment='top')
fig.text(.16,.80,r2,horizontalalignment='left',verticalalignment='top')
fig.text(.16,.75,mse,horizontalalignment='left',verticalalignment='top')
fig.text(.16,.70,pre,horizontalalignment='left',verticalalignment='top')
fig.text(.16,.65,N,horizontalalignment='left',verticalalignment='top')

显示图像

# 显示图像
plt.show()

 完成!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值