Matplotlib is hiring a Research Software Engineering Fellow! See discourse for details. Apply by January 3, 2020
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平台上查找字体的标准方法,因此如果安装了字体,则更容易找到它。
matplotlib.font_manager.
FontEntry
(fname='', name='', style='normal', variant='normal', weight='normal', stretch='normal', size='medium')[源代码]¶基类:object
用于存储字体属性的类。在填充字体查找字典时使用。
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 有关字体查找算法说明的文档。
score_family
(families, family2)[源代码]¶返回中字体系列列表之间的匹配分数 家庭 字体系列名称 家族2 .
列表头的精确匹配返回0.0。
列表下方的匹配将返回0和1之间。
没有匹配将返回1.0。
score_size
(size1, size2)[源代码]¶返回匹配分数 SiZE1 和 SiZE2 .
如果 SiZE2 (字体文件中指定的大小)为“scalable”,此函数始终返回0.0,因为可以生成任何字体大小。
否则,结果是 SiZE1 和 SiZE2 ,使字体大小的常规范围(6pt-72pt)介于0.0和1.0之间。
score_style
(style1, style2)[源代码]¶返回匹配分数 风格1 和 风格2 .
精确匹配返回0.0。
“italic”和“oblique”之间的匹配返回0.1。
no match返回1.0。
score_weight
(weight1, weight2)[源代码]¶返回匹配分数 体重1 和 体重2 .
如果将weight1和weight 2都作为字符串给出并具有相同的值,则结果为0.0。
否则,结果是 体重1 和 体重2 ,标准化在0.05和1.0之间。
ttffiles
¶3.0 版后已移除: ttffiles函数在matplotlib 3.0中已弃用,将在3.2中删除。
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的其他应用程序中的结果不同。
get_fontconfig_pattern
()[源代码]¶获取一个fontconfig模式,该模式适合查找fontconfig指定的字体 fc-match
实用工具。
请参阅上的文档 fontconfig patterns .
此支持不需要安装fontconfig或启用fontconfig支持。我们只是借用它的模式语法在这里使用。
get_slant
()¶返回字体样式。值为:“Normal”、“Italic”或“Oblique”。
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.usetex
是 True
.
set_fontconfig_pattern
(pattern)[源代码]¶通过分析fontconfig设置属性 模式 .
请参阅上的文档 fontconfig patterns .
此支持不需要安装fontconfig或启用fontconfig支持。我们只是借用它的模式语法在这里使用。
set_name
(family)¶更改字体系列。可能是别名(通用名是css的说法),例如:“serif”、“sans-serif”、“cursive”、“fantasy”或“monospace”、真实字体名或真实字体名列表。当 text.usetex
是 True
.
set_size
(size)[源代码]¶设置字体大小。“x x-small”、“x-small”、“small”、“medium”、“large”、“x-large”、“x x-large”的相对值或绝对字体大小,例如12。
set_slant
(style)¶设置字体样式。值为:“Normal”、“Italic”或“Oblique”。
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
.
matplotlib.font_manager.
TempCache
(**kwargs)[源代码]¶基类:object
3.0 版后已移除: tempcache类在matplotlib 3.0中已被弃用,将在3.2中删除。
用于存储临时缓存的类,这些缓存(a)未保存到磁盘,以及(b)在更改某些与字体相关的RCParam(即族查找列表)或重新加载字体缓存时无效。这避免了每次查找字体时对所有字体进行昂贵的线性搜索。
invalidating_rcparams
= ('font.serif', 'font.sans-serif', 'font.cursive', 'font.fantasy', 'font.monospace')¶matplotlib.font_manager.
afmFontProperty
(fontpath, font)[源代码]¶从AFM字体文件中提取信息。
参数: | |
---|---|
返回: |
|
matplotlib.font_manager.
createFontList
(fontfiles, fontext='ttf')[源代码]¶用于创建字体查找列表的函数。默认设置是创建TrueType字体列表。可以选择创建AFM字体列表。
matplotlib.font_manager.
findSystemFonts
(fontpaths=None, fontext='ttf')[源代码]¶在指定的字体路径中搜索字体。如果没有指定路径,则将使用标准的系统路径集,以及fontconfig跟踪的字体列表(如果fontconfig已安装并可用)。默认情况下,返回TrueType字体列表,并将AFM字体作为选项。
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.
ttfFontProperty
(font)[源代码]¶从TrueType字体文件中提取信息。
参数: |
|
---|---|
返回: |
|
matplotlib.fontconfig_pattern
¶用于分析和生成fontconfig模式的模块。
见 fontconfig pattern specification 更多信息。
matplotlib.fontconfig_pattern.
FontconfigPatternParser
[源代码]¶基类:object
一个简单的基于pyparsing的fontconfig样式模式分析器。
见 fontconfig pattern specification 更多信息。
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.
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替换字符串中最左边的不重叠的模式来获得的字符串。