解决 matplotlib 字体问题最简单的方法,将matplotlib更改字体为 宋体、TimesNewRoman

matplotlib原生不支持中文,为了在论文中愉快的使用matplotlib,可以采用如下方法(windows 和 ubuntu都可以使用):

  1. 下载我提供的字体文件 TimesSong.ttf。这个字体文件中文部分为宋体字符,英文部分为 Times New Roman

  1. 将 TimesSong.ttf 放在任意位置,并复制路径

  1. 在绘图之前,运行如下代码,注意将【 fname = 'filepath/TimesSong.ttf' 】换成你自己的文件路径

【注】下载链接:https://mbd.pub/o/bread/Y56XmJZs

matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
from 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 np
x = 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 字体的授权

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值