Matplotlib is hiring a Research Software Engineering Fellow! See discourse for details. Apply by January 3, 2020

Version 3.1.1
matplotlib
Fork me on GitHub

目录

Related Topics

font_manager

matplotlib.font_manager

用于跨平台查找、管理和使用字体的模块。

此模块提供一个 FontManager 可以跨后端和平台共享的实例。这个 findfont() 函数返回本地或系统字体路径中与指定字体匹配的最佳TrueType(TTF)字体文件 FontProperties 实例。这个 FontManager 还处理Adobe字体度量(AFM)字体文件供PostScript后端使用。

设计基于 W3C Cascading Style Sheet, Level 1 (CSS1) font specification . 未来版本可能会实施2级或2.1级规范。

实验支持包括使用 fontconfig 在Unix变体平台(Linux、OS X、Solaris)上。要启用它,请设置常量 USE_FONTCONFIG 在这个文件中 True . fontconfig的优点是它是在x11平台上查找字体的标准方法,因此如果安装了字体,则更容易找到它。

class matplotlib.font_manager.FontEntry(fname='', name='', style='normal', variant='normal', weight='normal', stretch='normal', size='medium')[源代码]

基类:object

用于存储字体属性的类。在填充字体查找字典时使用。

class matplotlib.font_manager.FontManager(size=None, weight='normal')[源代码]

基类:object

关于进口 FontManager singleton实例根据字体属性创建TrueType字体列表:名称、样式、变体、粗细、拉伸和大小。这个 findfont() 方法执行最近邻搜索以查找最符合规范的字体。如果没有找到足够好的匹配,则返回默认字体。

afmfiles

3.0 版后已移除: Matplotlib 3.0中不推荐使用afmfiles函数,将在3.2中删除该函数。

findfont(prop, fontext='ttf', directory=None, fallback_to_default=True, rebuild_if_missing=True)[源代码]

在字体列表中搜索与 FontProperties prop .

findfont() 执行最近邻搜索。每个字体都会得到与目标字体属性的相似性分数。返回得分最高的第一个字体。如果未找到低于某个阈值的匹配项,则返回默认字体(通常为dejavu sans)。

directory ,将只返回给定目录(或该目录的子目录)中的字体。

结果被缓存,因此后续查找不必执行O(N)最近邻搜索。

如果 fallback_to_default 如果第一次硬查找失败,则返回默认字体系列(通常为“dejavu sans”或“helvetica”)。

W3C Cascading Style Sheet, Level 1 有关字体查找算法说明的文档。

static get_default_size()[源代码]

返回默认字体大小。

get_default_weight()[源代码]

返回默认字体粗细。

score_family(families, family2)[源代码]

返回中字体系列列表之间的匹配分数 家庭 字体系列名称 家族2 .

列表头的精确匹配返回0.0。

列表下方的匹配将返回0和1之间。

没有匹配将返回1.0。

score_size(size1, size2)[源代码]

返回匹配分数 SiZE1SiZE2 .

如果 SiZE2 (字体文件中指定的大小)为“scalable”,此函数始终返回0.0,因为可以生成任何字体大小。

否则,结果是 SiZE1SiZE2 ,使字体大小的常规范围(6pt-72pt)介于0.0和1.0之间。

score_stretch(stretch1, stretch2)[源代码]

返回匹配分数 拉伸1拉伸2 .

结果是CSS数值差的绝对值 拉伸1拉伸2 ,标准化在0.0和1.0之间。

score_style(style1, style2)[源代码]

返回匹配分数 风格1风格2 .

精确匹配返回0.0。

“italic”和“oblique”之间的匹配返回0.1。

no match返回1.0。

score_variant(variant1, variant2)[源代码]

返回匹配分数 变异1变异2 .

精确匹配返回0.0,否则返回1.0。

score_weight(weight1, weight2)[源代码]

返回匹配分数 体重1体重2 .

如果将weight1和weight 2都作为字符串给出并具有相同的值,则结果为0.0。

否则,结果是 体重1体重2 ,标准化在0.05和1.0之间。

set_default_weight(weight)[源代码]

设置默认字体粗细。初始值为“Normal”。

ttffiles

3.0 版后已移除: ttffiles函数在matplotlib 3.0中已弃用,将在3.2中删除。

update_fonts(filenames)[源代码]

用新字体文件更新字体词典。当前未实现。

class matplotlib.font_manager.FontProperties(family=None, style=None, variant=None, weight=None, stretch=None, size=None, fname=None, _init=None)[源代码]

基类:object

用于存储和操作字体属性的类。

字体属性是 W3C Cascading Style Sheet, Level 1 字体规格。这六个属性是:

  • 系列:按优先级降序排列的字体名称列表。这些项目可能包括通用字体系列名称,如“serif”、“sans-serif”、“cursive”、“fantasy”或“monospace”。在这种情况下,将从关联的rcparam中查找要使用的实际字体。
  • 样式:“Normal”、“Italic”或“Oblique”。
  • 变体:要么是“普通”要么是“小大写”。
  • 拉伸:0-1000范围内的数值,或“超压缩”、“超压缩”、“压缩”、“半压缩”、“普通”、“半扩展”、“扩展”、“超扩展”或“超扩展”之一。
  • 权重:0-1000范围内的数值,或“超轻”、“轻”、“普通”、“常规”、“书籍”、“中等”、“罗马”、“半粗体”、“半粗体”、“半粗体”、“半粗体”、“粗体”、“重体”、“超粗体”、“黑色”之一。
  • 大小:相对值为'x x small'、'x-small'、'small'、'medium'、'large'、'x-large'、'x x large'或绝对字体大小,例如12

TrueType字体的默认字体属性(在默认rcParams中指定)为::

sans-serif, normal, normal, normal, normal, scalable.

或者,可以使用.ttf文件的绝对路径指定字体,方法是使用 文件名 克瓦格

字体大小的首选用法是使用相对值,例如“大”,而不是绝对字体大小,例如12。这种方法允许根据字体管理器的默认字体大小来增大或减小所有文本大小。

本课程还将接受 fontconfig 模式,如果它是唯一提供的参数。请参阅上的文档 fontconfig patterns . 此支持不需要安装fontconfig。我们只是借用它的模式语法在这里使用。

请注意,matplotlib的内部字体管理器和fontconfig使用不同的算法查找字体,因此matplotlib中相同模式的结果可能与使用fontconfig的其他应用程序中的结果不同。

copy()[源代码]

返回自我的深度副本

get_family()[源代码]

返回组成字体系列的字体名称列表。

get_file()[源代码]

返回关联字体的文件名。

get_fontconfig_pattern()[源代码]

获取一个fontconfig模式,该模式适合查找fontconfig指定的字体 fc-match 实用工具。

请参阅上的文档 fontconfig patterns .

此支持不需要安装fontconfig或启用fontconfig支持。我们只是借用它的模式语法在这里使用。

get_name()[源代码]

返回最匹配字体属性的字体名称。

get_size()[源代码]

返回字体大小。

get_size_in_points()[源代码]
get_slant()

返回字体样式。值为:“Normal”、“Italic”或“Oblique”。

get_stretch()[源代码]

返回字体拉伸或宽度。选项有:“超浓缩”、“超浓缩”、“浓缩”、“半浓缩”、“正常”、“半膨胀”、“膨胀”、“超膨胀”、“超膨胀”。

get_style()[源代码]

返回字体样式。值为:“Normal”、“Italic”或“Oblique”。

get_variant()[源代码]

返回字体变量。值为:“Normal”或“Small Caps”。

get_weight()[源代码]

设置字体粗细。选项包括:0-1000范围内的数值,或'light'、'normal'、'regular'、'book'、'medium'、'roman'、'semibold'、'demi bold'、'demi'、'bold'、'heavy'、'extra bold'、'black'之一。

set_family(family)[源代码]

更改字体系列。可能是别名(通用名是css的说法),例如:“serif”、“sans-serif”、“cursive”、“fantasy”或“monospace”、真实字体名或真实字体名列表。当 text.usetexTrue .

set_file(file)[源代码]

设置要使用的字体文件的文件名。在这种情况下,将忽略所有其他属性。

set_fontconfig_pattern(pattern)[源代码]

通过分析fontconfig设置属性 模式 .

请参阅上的文档 fontconfig patterns .

此支持不需要安装fontconfig或启用fontconfig支持。我们只是借用它的模式语法在这里使用。

set_name(family)

更改字体系列。可能是别名(通用名是css的说法),例如:“serif”、“sans-serif”、“cursive”、“fantasy”或“monospace”、真实字体名或真实字体名列表。当 text.usetexTrue .

set_size(size)[源代码]

设置字体大小。“x x-small”、“x-small”、“small”、“medium”、“large”、“x-large”、“x x-large”的相对值或绝对字体大小,例如12。

set_slant(style)

设置字体样式。值为:“Normal”、“Italic”或“Oblique”。

set_stretch(stretch)[源代码]

设置字体拉伸或宽度。选项包括:“超压缩”、“超压缩”、“压缩”、“半压缩”、“普通”、“半扩展”、“扩展”、“超扩展”或“超扩展”,或0-1000范围内的数值。

set_style(style)[源代码]

设置字体样式。值为:“Normal”、“Italic”或“Oblique”。

set_variant(variant)[源代码]

设置字体变量。值为:“Normal”或“Small Caps”。

set_weight(weight)[源代码]

设置字体粗细。可以是0-1000范围内的数值,也可以是“超轻”、“轻”、“普通”、“常规”、“书籍”、“中等”、“罗马”、“半粗体”、“半粗体”、“半粗体”、“粗体”、“重体”、“超粗体”、“黑色”之一。

class matplotlib.font_manager.JSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[源代码]

基类:json.encoder.JSONEncoder

jsonEncoder的构造函数,具有合理的默认值。

如果skipkeys为false,则尝试对非str、int、float或none的键进行编码是一个类型错误。如果skipkeys为真,则只跳过这些项。

如果确保_ASCII为真,则输出将被保证为str对象,并对所有传入的非ASCII字符进行转义。如果确保_ASCII为假,则输出可以包含非ASCII字符。

如果check_circular为true,则在编码期间将检查列表、dict和自定义编码对象的循环引用,以防止无限递归(这将导致溢出错误)。否则,不进行此类检查。

如果allow_Nan为真,则Nan、Infinity和-Infinity将被编码为这样。此行为不符合JSON规范,但与大多数基于JavaScript的编码器和解码器一致。否则,对此类浮点数进行编码将是一个值错误。

如果sort_keys为true,那么字典的输出将按key排序;这对于回归测试很有用,以确保可以每天比较JSON序列化。

如果indent是非负整数,那么json数组元素和对象成员将以该indent级别完美打印。0的缩进级别将只插入换行符。“无”是最紧凑的表示形式。

如果指定了分隔符,则分隔符应该是(item_separator,key_separator)元组。如果 缩进None 和(“,”,“:”)否则。要获得最紧凑的JSON表示,应该指定(“,”,“:”)以消除空白。

如果指定,则默认值是一个函数,该函数将为无法序列化的对象调用。它应该返回对象的JSON可编码版本或引发 TypeError .

default(o)[源代码]

在子类中实现此方法,以便它返回的可序列化对象 o 或调用基本实现(以引发 TypeError

例如,为了支持任意迭代器,可以实现如下的默认值:

def default(self, o):
    try:
        iterable = iter(o)
    except TypeError:
        pass
    else:
        return list(iterable)
    # Let the base class default method raise the TypeError
    return JSONEncoder.default(self, o)
matplotlib.font_manager.OSXInstalledFonts(directories=None, fontext='ttf')[源代码]

获取OS X上的字体文件列表。

class matplotlib.font_manager.TempCache(**kwargs)[源代码]

基类:object

3.0 版后已移除: tempcache类在matplotlib 3.0中已被弃用,将在3.2中删除。

用于存储临时缓存的类,这些缓存(a)未保存到磁盘,以及(b)在更改某些与字体相关的RCParam(即族查找列表)或重新加载字体缓存时无效。这避免了每次查找字体时对所有字体进行昂贵的线性搜索。

get(prop)[源代码]
invalidating_rcparams = ('font.serif', 'font.sans-serif', 'font.cursive', 'font.fantasy', 'font.monospace')
make_rcparams_key()[源代码]
set(prop, value)[源代码]
matplotlib.font_manager.afmFontProperty(fontpath, font)[源代码]

从AFM字体文件中提取信息。

参数:
fontAFM : AFM

从中提取信息的AFM字体文件。

返回:
`FontEntry`

提取的字体属性。

matplotlib.font_manager.createFontList(fontfiles, fontext='ttf')[源代码]

用于创建字体查找列表的函数。默认设置是创建TrueType字体列表。可以选择创建AFM字体列表。

matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')[源代码]

在指定的字体路径中搜索字体。如果没有指定路径,则将使用标准的系统路径集,以及fontconfig跟踪的字体列表(如果fontconfig已安装并可用)。默认情况下,返回TrueType字体列表,并将AFM字体作为选项。

matplotlib.font_manager.findfont(prop, **kw)[源代码]
matplotlib.font_manager.get_font(filename, hinting_factor=None)[源代码]
matplotlib.font_manager.get_fontconfig_fonts(fontext='ttf')[源代码]

列出已知的字体文件名 fc-list 具有给定的扩展名。

matplotlib.font_manager.get_fontext_synonyms(fontext)[源代码]

返回作为给定文件扩展名同义词的文件扩展名列表 文件外文 .

matplotlib.font_manager.is_opentype_cff_font[源代码]

如果给定字体是嵌入在OpenType包装器中的PostScript Compact字体格式字体,则返回true。由不能子集这些字体的PostScript和PDF后端使用。

matplotlib.font_manager.json_dump(data, filename)[源代码]

将数据结构作为JSON转储到命名文件中。

处理fontmanager及其字段。作为matplotlib数据路径的子级的文件路径(通常是matplotlib附带的字体)相对于该数据路径存储(以在virtualenv中保持有效)。

matplotlib.font_manager.json_load(filename)[源代码]

从命名文件中以JSON的形式加载数据结构。

处理fontmanager及其字段。相对文件路径被解释为相对于matplotlib数据路径,并转换为绝对路径。

matplotlib.font_manager.list_fonts(directory, extensions)[源代码]

返回目录下递归找到的所有与扩展名匹配的字体的列表。

matplotlib.font_manager.ttfFontProperty(font)[源代码]

从TrueType字体文件中提取信息。

参数:
fontFT2Font : FT2字体

从中提取信息的TrueType字体文件。

返回:
`FontEntry`

提取的字体属性。

matplotlib.font_manager.win32FontDirectory()[源代码]

返回用户为Win32指定的字体目录。这是从注册表项中查找的:

\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts

如果找不到该键,将返回$windir/fonts。

matplotlib.font_manager.win32InstalledFonts(directory=None, fontext='ttf')[源代码]

在指定的字体目录中搜索字体,如果没有指定,则使用系统目录。默认情况下,返回TrueType字体文件名列表,或者返回AFM字体,如果 字体文字 =‘AFM’。

matplotlib.fontconfig_pattern

用于分析和生成fontconfig模式的模块。

fontconfig pattern specification 更多信息。

class matplotlib.fontconfig_pattern.FontconfigPatternParser[源代码]

基类:object

一个简单的基于pyparsing的fontconfig样式模式分析器。

fontconfig pattern specification 更多信息。

parse(pattern)[源代码]

分析给定的fontconfig 模式 并返回用于初始化 font_manager.FontProperties 对象。

matplotlib.fontconfig_pattern.family_escape($self, /, repl, string, count=0)

返回通过用replacement repl替换字符串中最左边的不重叠的模式来获得的字符串。

matplotlib.fontconfig_pattern.family_unescape($self, /, repl, string, count=0)

返回通过用replacement repl替换字符串中最左边的不重叠的模式来获得的字符串。

matplotlib.fontconfig_pattern.generate_fontconfig_pattern(d)[源代码]

给定一个键/值对的字典,生成一个fontconfig模式字符串。

matplotlib.fontconfig_pattern.parse_fontconfig_pattern

分析给定的fontconfig 模式 并返回用于初始化 font_manager.FontProperties 对象。

matplotlib.fontconfig_pattern.value_escape($self, /, repl, string, count=0)

返回通过用replacement repl替换字符串中最左边的不重叠的模式来获得的字符串。

matplotlib.fontconfig_pattern.value_unescape($self, /, repl, string, count=0)

返回通过用replacement repl替换字符串中最左边的不重叠的模式来获得的字符串。