Matplotlib绘图中英文字体设置问题

网上翻了一下午,加上自己改进了一下,终于成功啦,发出来给大家参考一下。

代码如下:

import numpy as np
import pandas as pd
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import matplotlib
from matplotlib.font_manager import FontProperties
from matplotlib import rcParams

excel1_path = "焊缝中心点真实位置.xlsx"
excel2_path = "tracking_data1_1.xlsx"
excel3_path = "tracking_data1.xlsx"
df1 = pd.read_excel(excel1_path, engine='openpyxl')
df2 = pd.read_excel(excel2_path, engine='openpyxl')
df3 = pd.read_excel(excel3_path, engine='openpyxl')
t_data1 = df1['Frame'].values
x_data1 = df1['Center Y'].values
t_data2 = df2['Frame'].values
x_data2 = df2['Center Y'].values
t_data3 = df3['Frame'].values
x_data3 = df3['Center Y'].values
config = {
    "font.family": 'serif',  # 衬线字体
    "font.size": 12,  # 相当于小四大小
    "font.serif": ['SimSun', 'Times New Roman'],  # 宋体
    "mathtext.fontset": 'stix',  # matplotlib渲染数学字体时使用的字体,和Times New Roman差    别不大
    'axes.unicode_minus': False  # 处理负号,即-号
}
rcParams.update(config)
# 设置字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 避免中文乱码
plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号
plt.figure(figsize=(12, 8))
plt.ylim(3800, 4300)
plt.plot(t_data1, x_data1, color='0.3', label=r'$\mathrm{actual\ path}$')
plt.plot(t_data2, x_data2, color='0.6', linestyle='-.', label=r'$\mathrm{algorithm\ based\ on\ ECO-HC}$')
plt.plot(t_data3, x_data3, color='0.3', linestyle='--', label=r'$\mathrm{proposed\ algorithm}$')
plt.title('焊缝轨迹', size=18)
plt.xlabel('帧数$\mathrm{t}$/帧', size=14)
plt.ylabel('焊缝$\mathrm{y}$坐标/$\mathrm{pixel}$', size=14)
plt.xticks(fontproperties='Times New Roman')
plt.yticks(fontproperties='Times New Roman')
plt.legend()
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值