matplotlib 修改字体
2021-9-9
.ttc文件
首先你得有一个字体的文件**(.ttc文件)**
该类型文件的描述百度百科是这么写的:
TTC全称是TrueType Collection,是一个字体格式。
TTC字体是TrueType字体集成文件(. TTC文件),是在一单独文件结构中包含多种字体,以便更有效地共享轮廓数据,当多种字体共享同一笔画时,TTC技术可有效地减小字体文件的大小。
TTC是几个TTF合成的字库,安装后字体列表中会看到两个以上的字体。两个字体中大部分字都一样时,可以将两种字体做成一个TTC文件,常见的TTC字体,因为共享笔划数据,所以大多这个集合中的字体区别只是字符宽度不一样,以便适应不同的版面排版要求。
而TTF字体则只包含一种字型。
如何获取
百度一搜,资源还是挺多的:
我自己用的这个网站
http://zitixiazai.taofont.com/tag/ttc
如何在matplotlib中使用
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 读取字体.ttc文件,以后如果要用这个字体,直接调用my_font 就可以了
my_font = font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2 = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1]
x = range(11,31)
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y_1,label="自己",color="#F08080")
plt.plot(x,y_2,label="同桌",color="#DB7093",linestyle="--")
#设置x轴刻度
_xtick_labels = ["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
# plt.yticks(range(0,9))
#绘制网格
plt.grid(alpha=0.4,linestyle=':')
#添加图例
plt.legend(prop=my_font,loc="upper left")
#展示
plt.show()