Python画图设置宋体和新罗马Times New Roman
·
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)
这样画图就完美了,但可能也存在一点点小瑕疵,因为每次只能设置一种字体,尽量避免一句话是中英文共存的情况。
更多推荐
已为社区贡献1条内容
所有评论(0)