如何获取Matplotlib当前可用的所有字体列表?

时间:2012-01-06 05:38:15

标签: python matplotlib

e.g。当我想在

中设置font
matplotlib.rc('font', **font)

感谢。

3 个答案:

答案 0 :(得分:52)

import matplotlib.font_manager
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')

检查this以了解其他选项。

答案 1 :(得分:18)

获取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

documentation建议get_fontconfig_fonts()

  

这是一种轻松获取用户想要制作的字体的方法   可用于应用程序,无需知道所有这些内容   驻留。

请注意,您可以使用FontProperties类轻松获取(反向)名称以进行字体查找:

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

findfont非常健壮,因为如果找不到匹配的属性,它会返回默认字体。

答案 2 :(得分:7)

this blog post,此代码将为您提供字体和示例:

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