在matplotlib中,如何更改单个数字的字体大小?

时间:2011-08-16 17:48:38

标签: python matplotlib figure

代码:

# changes the fontsize of matplotlib, not just a single figure
matplotlib.rcParams.update({'font.size': 22})

有没有比为数字设置更好的方法,然后稍后将其设置回来?

1 个答案:

答案 0 :(得分:3)

这涵盖了每个可能的文本对象,并为每个文本对象设置字体大小。 (注意此例程已从原始发布更新)。它使用Artist基类的findobj方法。 match关键字接受一个布尔函数,该函数对作为图的子对象的每个对象执行测试。我用它来测试艺术家是否位于'matplotlib.text'模块中。这通常足以用于任何艺术家,而不仅仅是一个人物。

def set_fontsize(fig,fontsize):
    """
    For each text object of a figure fig, set the font size to fontsize
    """
    def match(artist):
        return artist.__module__ == "matplotlib.text"

    for textobj in fig.findobj(match=match):
        textobj.set_fontsize(fontsize)

此问题已根据对此问题的回复进行了更新:Is there anything wrong with importing a python module into a routine or class definition?