在子图matplotlib中设置x和y刻度的字体类型

时间:2016-03-08 22:17:39

标签: python matplotlib fonts

我遇到了将x和y刻度字体类型设置为" Times New Roman"的问题。以下是我的代码:

font = {'fontname':'Times New Roman'}

fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(20,12))
axes[0,0].get_xticklabels(**font)
axes[0,0].get_yticklabels(**font)

但是,此命令不会将字体类型重置为我希望的字体。 x和y轴的标题以及标签将根据** font参数设置字体类型。有人能指出我正确的命令解决这个问题吗?感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:2)

您需要为每个轴设置fontnamexticklabels的每一个yticklabels

您可以使用get_xticklabelsget_yticklabels获取刻度标签。然后,您要设置生成的fontname对象的Text属性。

import matplotlib.pyplot as plt

fontname = 'Times New Roman'

fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(10,6))

for ax in axes.flatten():
    labels = ax.get_xticklabels() + ax.get_yticklabels()
    [label.set_fontname(fontname) for label in labels]

enter image description here