nye*_*e17 34 python matplotlib
例如,当我想要进入font
时
matplotlib.rc('font', **font)
Run Code Online (Sandbox Code Playgroud)
谢谢.
ims*_*msc 52
import matplotlib.font_manager
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
Run Code Online (Sandbox Code Playgroud)
检查这其他的选择.
alo*_*odi 20
获得可读的(可读)字体列表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
Run Code Online (Sandbox Code Playgroud)
该文件建议get_fontconfig_fonts()
:
这是一种简单的方法,可以获取用户希望为应用程序提供的所有字体,而无需知道所有字体的所在位置.
请注意,您可以使用FontProperties
类轻松获取(反向)名称以进行字体查找:
font = matplotlib.font_manager.FontProperties(family='TeX Gyre Heros')
file = matplotlib.font_manager.findfont(font)
Run Code Online (Sandbox Code Playgroud)
findfont
是健壮的,因为如果它找不到匹配的属性,它会返回默认字体.
Max*_*Max 18
接受的答案仅提供计算机上字体的路径列表,但不提供可以传递给的字体名称rcParams
。@Alodi 的答案解决了这一点,但已经过时了。
在带有 Matplotlib 3.3.4 的 Python 3.8.8 中,您可以使用以下命令:
import matplotlib.font_manager
fpaths = matplotlib.font_manager.findSystemFonts()
for i in fpaths:
f = matplotlib.font_manager.get_font(i)
print(f.family_name)
Run Code Online (Sandbox Code Playgroud)
它打印字体名称列表:
Padauk Book
Laksaman
Waree
Umpush
Latin Modern Roman Demi
Tlwg Mono
Gubbi
...
Run Code Online (Sandbox Code Playgroud)
Max*_*nis 10
根据这篇博文,这段代码将为您提供可用的字体和示例:
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))
Run Code Online (Sandbox Code Playgroud)
例如:
tdy*_*tdy 10
现在有一个辅助方法get_font_names()
来列出所有可用的字体:
from matplotlib import font_manager
font_manager.get_font_names()
Run Code Online (Sandbox Code Playgroud)
请注意,结果列表不会按字母顺序排列。如果您只是以编程方式检查某些内容,那就没问题,但如果您以视觉方式检查,请按字母顺序排序以便于扫描:
sorted(font_manager.get_font_names())
# ['Advent Pro',
# 'Anonymous Pro',
# ...
# 'DejaVu Sans',
# 'DejaVu Sans Mono',
# 'DejaVu Serif',
# ...
# 'Noto Mono',
# 'Noto Sans',
# 'Noto Serif',
# ...
# 'Roboto',
# 'Roboto Flex',
# 'Roboto Mono',
# 'Roboto Serif',
# ...
# 'TeX Gyre Adventor',
# 'TeX Gyre Bonum',
# 'TeX Gyre Chorus',
# 'TeX Gyre Cursor',
# 'TeX Gyre Heros',
# 'TeX Gyre Pagella',
# 'TeX Gyre Schola',
# 'TeX Gyre Termes',
# ...
# 'Ubuntu',
# 'Ubuntu Mono']
Run Code Online (Sandbox Code Playgroud)