2011-10-11 86 views

回答

49

在这里看到的例子:http://matplotlib.sourceforge.net/examples/api/font_file.html

一般情况下,你会做这样的事情,如果你想使用一个特定的.ttf文件。 (请记住,指向特定字体文件通常是一个坏主意!)

import matplotlib.font_manager as fm 
import matplotlib.pyplot as plt 

fig, ax = plt.subplots() 
ax.plot(range(10)) 

prop = fm.FontProperties(fname='/usr/share/fonts/truetype/groovygh.ttf') 
ax.set_title('This is some random font', fontproperties=prop, size=32) 

plt.show() 

enter image description here

通常情况下,你只是指向字体的名称,并让matplotlib担心找不到具体文件。例如。

import matplotlib.pyplot as plt 

plt.plot(range(10)) 
plt.title('This is some random font', family='GroovyGhosties', size=32) 

plt.show() 

如果你想有matplotlib始终使用特定的字体,然后customize your .matplotlibrc file。 (font.family是你想要设置的,注意你应该指定字体的名称,而不是特定.ttf文件的路径)。

作为动态地实现这个的一个例子(即不设置具体.matplotlibrc文件):

import matplotlib as mpl 
mpl.rcParams['font.family'] = 'GroovyGhosties' 

import matplotlib.pyplot as plt 

plt.plot(range(10)) 
plt.title('Everything is crazy!!!', size=32) 
plt.show() 

enter image description here

0

在* nix,可以使用通过使matplotlib的fontconfig的后端所有的系统字体。

然而,matplotlib并没有真正和fontconfig库通过运行fontconfig cli工具来模拟它的行为。

因此,加密matplotlib fontconfig缓存,以便发现新的字体可以成为救星(这种缓存的存在是缺乏完整的fontconfig集成的直接证明)。

相关问题