Python 在seaborn/matplotlib中为记号标签使用特定的TTF字体文件

Python 在seaborn/matplotlib中为记号标签使用特定的TTF字体文件,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我想将特定轴记号标签的字体系列更改为.ttf文件中定义的特定字体。我不想在全局范围内更改此选项,仅针对勾号标签。matplotlib或seaborn特定指令都可以 我找不到如何操作的说明。建议的方法不适用。首先,安装字体(取决于您的操作系统)。 然后使用fontname参数设置勾号标签时指定字体 fig, (ax1, ax2) = plt.subplots(1, 2) ax2.set_xticklabels(np.linspace(0, 1, 6), fontname='Suruma') 如

我想将特定轴记号标签的字体系列更改为
.ttf
文件中定义的特定字体。我不想在全局范围内更改此选项,仅针对勾号标签。matplotlib或seaborn特定指令都可以

我找不到如何操作的说明。建议的方法不适用。

首先,安装字体(取决于您的操作系统)。 然后使用
fontname
参数设置勾号标签时指定字体

fig, (ax1, ax2) = plt.subplots(1, 2)
ax2.set_xticklabels(np.linspace(0, 1, 6), fontname='Suruma')

如果要更改现有的记号标签,可以设置文本对象的fontname属性,然后重新绘制:

for text_obj in ax2.get_xticklabels():
    text_obj.set_fontname('Suruma')
fig.canvas.draw()

谢谢我希望有一个不需要在系统中安装字体的选项,但我知道这可能是不可能的。@gandreadis我没有意识到这是一个重要的要求。这是可能的,只是需要更多的设置。请参阅本文的第2部分。此外,您可以简单地将字体添加到matplotlib字体文件夹中,如前所述。