Python 如何在matplotlib中使用(随机)*.otf或*.ttf字体?
如何在我所有的Python 如何在matplotlib中使用(随机)*.otf或*.ttf字体?,python,matplotlib,fonts,Python,Matplotlib,Fonts,如何在我所有的matplotlib图形中使用计算机字体库中的任何类型的字体(例如*otf或*ttf) 通常,如果您想使用特定的.ttf文件,您会这样做。(请记住,指向特定字体文件通常不是一个好主意!) 通常,您只需指向字体的名称,让matplotlib负责查找特定的文件。例如 import matplotlib.pyplot as plt plt.plot(range(10)) plt.title('This is some random font', family='GroovyGhost
matplotlib
图形中使用计算机字体库中的任何类型的字体(例如*otf
或*ttf
)
通常,如果您想使用特定的.ttf
文件,您会这样做。(请记住,指向特定字体文件通常不是一个好主意!)
通常,您只需指向字体的名称,让matplotlib负责查找特定的文件。例如
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.title('This is some random font', family='GroovyGhosties', size=32)
plt.show()
如果希望matplotlib始终使用特定字体,则。(font.family
是您想要设置的。请注意,您应该指定字体名称,而不是特定.ttf文件的路径。)
作为动态执行此操作的示例(即不设置特定的.matplotlibrc
文件):
在*nix上,通过启用matplotlib的fontconfig后端,您可以使用所有系统字体 但是,matplotlib并不真正与fontconfig库对话,而是通过运行fontconfig cli实用程序来模拟其行为
因此,对matplotlib fontconfig缓存进行nuking操作以发现新字体可以起到救命的作用(此缓存的存在直接证明没有完整的fontconfig集成)。您也可以在matplot config中指定字体并覆盖默认字体系列,例如*nix ~/.matplotlib/matplotlibrc
font.family: sans-serif
font.sans-serif: your font,sans-serif
它不适合我(Python3.6),如果字体不被识别,它只使用默认字体可能这并不能回答问题,但是你保存了我的最后几滴理智。谢谢没有应用新的系统字体,因此我删除了以下文件夹:~/.matplotlib、~/.cache/matplotlib、~/.cache/fontconfig。请务必重新启动python环境。感谢您指出缓存位置。为我工作。
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()
font.family: sans-serif
font.sans-serif: your font,sans-serif