Python画图设置宋体和新罗马Times New Roman

相信很多用Python进行画图的小伙伴会有困惑,每次画出来的图都是黑体,粘贴到Word里面,和其他的文字也很不搭,但是又懒得改,主要是我一直也没找到很有效的方法,但今天偶然学到一个方法,觉得很有用,就分享给大家

import matplotlib.pyplot as plt

from matplotlib import rcParams

config = {

"font.family": 'serif',

"font.size": 12,# 相当于小四大小

"mathtext.fontset": 'stix',#matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大

"font.serif": ['SimSun'],#宋体

'axes.unicode_minus': False # 处理负号,即-号

}

rcParams.update(config)

在画图之前加上以上这段代码就OK了

x_data = ['2013','2014','2015','2016','2017','2018','2019','2020']

y_data = [63000,71000,84000,90500,107000,120000,134000,145000]

plt.figure(figsize=(9,8))

plt.plot(x_data, y_data, "r", marker='*', ms=10, label="a")

plt.xlabel("我是x轴", fontsize = 20)

plt.ylabel("我是y轴", fontsize = 20)

plt.title('我是标题', fontsize = 20)

plt.tick_params(labelsize=13)

plt.savefig('折线图.png', dpi=500, bbox_inches='tight') # 解决图片不清晰,不完整的问题

plt.show()

下面就是效果啦,很开心,希望能帮助正在困惑的你。

上面是介绍一种全局字体的方法,其中英文是一种类似新罗马的字体,下面将介绍一种方法将中文和英文设置为不同的字体,实现英文和数字真的可以设置Times New Roman字体

from matplotlib.font_manager import FontProperties

# 设置中文为宋体

zhfont = FontProperties(fname='C:/Windows/Fonts/simsun.ttc') # 替换为你的宋体字体文件路径

# 设置英文为新罗马字体(如果系统中已安装)

enfont = {'family' : 'Times New Roman', 'weight' : 'normal', 'size' : 12}

然后再画图的时候设置字体如下

# 设置图表标题和轴标签

plt.title('我是标题',fontproperties=zhfont, size=14)

plt.xlabel('x轴',fontproperties=enfont)

plt.ylabel('y轴',fontproperties=zhfont, size=12)

这样画图就完美了,但可能也存在一点点小瑕疵,因为每次只能设置一种字体,尽量避免一句话是中英文共存的情况。

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: