Как получить список всех доступных на данный момент шрифтов для Matplotlib? - PullRequest
32 голосов
/ 06 января 2012

Например, когда я хочу установить font в

matplotlib.rc('font', **font)

Спасибо.

Ответы [ 3 ]

52 голосов
/ 06 января 2012
import matplotlib.font_manager
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')

Проверьте это для других вариантов.

19 голосов
/ 19 декабря 2014

Чтобы получить (читабельный) список доступных шрифтов для matplotlib:

import matplotlib.font_manager
flist = matplotlib.font_manager.get_fontconfig_fonts()
names = [matplotlib.font_manager.FontProperties(fname=fname).get_name() for fname in flist]
print names

Документация рекомендует get_fontconfig_fonts():

Это простой способ получить все шрифты, которые пользователь хочет сделать доступны для приложений, без необходимости знать, где все они проживают.

Обратите внимание, что вы можете легко получить (обратное) имя для поиска шрифта с помощью класса FontProperties:

font = matplotlib.font_manager.FontProperties(family='TeX Gyre Heros')
file = matplotlib.font_manager.findfont(font)

findfont надежен, так как возвращает шрифт по умолчанию, если не может найти подходящие свойства.

7 голосов
/ 24 февраля 2018

За в этом блоге , этот код предоставит вам доступные шрифты и образцы:

import matplotlib.font_manager
from IPython.core.display import HTML

def make_html(fontname):
    return "<p>{font}: <span style='font-family:{font}; font-size: 24px;'>{font}</p>".format(font=fontname)

code = "\n".join([make_html(font) for font in sorted(set([f.name for f in matplotlib.font_manager.fontManager.ttflist]))])

HTML("<div style='column-count: 2;'>{}</div>".format(code))

Например:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...