如何在python shell中检查matplotlib的默认字体?

如何在python shell中检查matplotlib的默认字体?,python,matplotlib,fonts,Python,Matplotlib,Fonts,我尝试了下面的代码,但我只收到了所有ttf字体文件的列表 import matplotlib.font_manager as fm for font in fm.findSystemFonts(): print font 我在想也许我需要使用matplotlib中的findFont()函数,但我不确定如何使用它。我的目标是能够询问python matplotlib使用的默认字体是什么,如果不是Times New Roman,我希望将默认字体更改为Times New Roman。此外,

我尝试了下面的代码,但我只收到了所有ttf字体文件的列表

import matplotlib.font_manager as fm 
for font in fm.findSystemFonts():
    print font

我在想也许我需要使用matplotlib中的findFont()函数,但我不确定如何使用它。我的目标是能够询问python matplotlib使用的默认字体是什么,如果不是Times New Roman,我希望将默认字体更改为Times New Roman。此外,如果matplotlib库中没有times new roman,那么如何将默认字体更改为次优serif字体。

您可以使用
rcParams
动态修改字体。检查以下代码:

import matplotlib as mpl

mpl.rcParams['font.family'] = ['serif'] # default is sans-serif
mpl.rcParams['font.serif'] = [
           'Times New Roman',
           'Times',
           'Bitstream Vera Serif',
           'DejaVu Serif',
           'New Century Schoolbook',
           'Century Schoolbook L',
           'Utopia',
           'ITC Bookman',
           'Bookman',
           'Nimbus Roman No9 L',
           'Palatino',
           'Charter',
           'serif']
这样,如果系统中有Times New Roman,matplotlib将在会话期间使用它,如果没有,它将尝试使用定义的下一种字体类型。看一看

如果要将参数重置为默认值,可以使用:

mpl.rcdefaults()
另一个选项是使用您想要的设置,您可以将该样式应用于所有绘图,或者使用上下文管理器仅应用于其中一些绘图