Это охватывает все возможные текстовые объекты и устанавливает размер шрифта для каждого. (Обратите внимание, что эта процедура была обновлена с оригинальной публикации). Он использует метод findobj базового класса Artist. Ключевое слово 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)
Это было обновлено на основе ответов на этот вопрос: Что-то не так с импортом модуля python в определение подпрограммы или класса?