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

数学文本

Inheritance diagram of matplotlib.mathtext

matplotlib.mathtext

mathtext 是一个模块,用于解析Tex数学语法的子集并将其绘制到Matplotlib后端。

有关其用法的教程,请参见 写数学表达式 . 本文件主要涉及实施细节。

模块使用 pyparsing 解析tex表达式。

支持Tex计算机现代字体和Stix字体的Bakoma发行版。对使用任意字体有实验性的支持,但是如果没有适当的调整和度量,结果可能会有所不同。

class matplotlib.mathtext.Accent(c, state, math=True)[源代码]

基类:matplotlib.mathtext.Char

对于重音符号,字体度量需要进行不同的处理,因为它们已经从TrueType字体的基线正确偏移。

grow()[源代码]

增大一个级别。什么东西能有多大是没有限制的。

render(x, y)[源代码]

将角色渲染到画布。

shrink()[源代码]

缩小一级。只有三个级别的大小,之后将不再变小。

class matplotlib.mathtext.AutoHeightChar(c, height, depth, state, always=False, factor=None)[源代码]

基类:matplotlib.mathtext.Hlist

AutoHeightChar 将创建尽可能接近给定高度和深度的字符。当使用具有多个高度版本的某些字符(如bakoma字体)的字体时,将选择正确的字形,否则,这将始终返回字形的缩放版本。

class matplotlib.mathtext.AutoWidthChar(c, width, state, always=False, char_class=<class 'matplotlib.mathtext.Char'>)[源代码]

基类:matplotlib.mathtext.Hlist

AutoWidthChar 将创建尽可能接近给定宽度的字符。当使用具有多个字符宽度版本的字体(如bakoma字体)时,将选择正确的glyph,否则将始终返回glyph的缩放版本。

class matplotlib.mathtext.BakomaFonts(*args, **kwargs)[源代码]

基类:matplotlib.mathtext.TruetypeFonts

使用Bakoma TrueType字体进行渲染。

符号散布在许多字体文件上,每个字体文件都有自己专有的8位编码。

alias = '\\]'
get_sized_alternatives_for_symbol(fontname, sym)[源代码]

如果字体提供同一符号的多个大小,则重写。应返回匹配的符号列表 sym 各种尺寸。表达式渲染器将从此列表中为给定情况选择最合适的大小。

target = ']'
class matplotlib.mathtext.Box(width, height, depth)[源代码]

基类:matplotlib.mathtext.Node

表示具有物理位置的任何节点。

grow()[源代码]

增大一个级别。什么东西能有多大是没有限制的。

render(x1, y1, x2, y2)[源代码]
shrink()[源代码]

缩小一级。只有三个级别的大小,之后将不再变小。

class matplotlib.mathtext.Char(c, state, math=True)[源代码]

基类:matplotlib.mathtext.Node

表示单个字符。与tex不同,字体信息和度量与每个 Char 以便在需要时更容易地查找字体度量。请注意,tex框的宽度、高度和深度不同于type1和truetype,前者使用完整的边界框,而后者在x方向前进。度量必须转换为tex方式,并且前进(如果与宽度不同)必须转换为 Kern 节点时 Char 添加到其父级 Hlist .

get_kerning(next)[源代码]

返回此字符和给定字符之间的紧排量。当字符串在一起时调用 Hlist 创造 Kern 节点。

grow()[源代码]

增大一个级别。什么东西能有多大是没有限制的。

is_slanted()[源代码]
render(x, y)[源代码]

将角色渲染到画布

shrink()[源代码]

缩小一级。只有三个级别的大小,之后将不再变小。

class matplotlib.mathtext.ComputerModernFontConstants[源代码]

基类:matplotlib.mathtext.FontConstantsBase

delta = 0.075
delta_integral = 0.3
delta_slanted = 0.3
script_space = 0.075
sub1 = 0.2
sub2 = 0.3
subdrop = 0.2
sup1 = 0.45
class matplotlib.mathtext.DejaVuFonts(*args, **kwargs)[源代码]

基类:matplotlib.mathtext.UnicodeFonts

use_cmex = False
class matplotlib.mathtext.DejaVuSansFontConstants[源代码]

基类:matplotlib.mathtext.FontConstantsBase

class matplotlib.mathtext.DejaVuSansFonts(*args, **kwargs)[源代码]

基类:matplotlib.mathtext.DejaVuFonts

dejavu sans字体的字体处理类

如果找不到glyph,它将回退到stix sans

class matplotlib.mathtext.DejaVuSerifFontConstants[源代码]

基类:matplotlib.mathtext.FontConstantsBase

class matplotlib.mathtext.DejaVuSerifFonts(*args, **kwargs)[源代码]

基类:matplotlib.mathtext.DejaVuFonts

dejavu serif字体的字体处理类

如果找不到glyph,它将回退到stix serif

matplotlib.mathtext.Error(msg)[源代码]

帮助程序类以引发分析程序错误。

class matplotlib.mathtext.Fil[源代码]

基类:matplotlib.mathtext.Glue

class matplotlib.mathtext.Fill[源代码]

基类:matplotlib.mathtext.Glue

class matplotlib.mathtext.Filll[源代码]

基类:matplotlib.mathtext.Glue

class matplotlib.mathtext.FontConstantsBase[源代码]

基类:object

一组常量,用于控制某些事物(如子脚本和上标)的布局。这些都是无法从字体本身的字体度量中可靠地检索到的度量。

delta = 0.025
delta_integral = 0.1
delta_slanted = 0.2
script_space = 0.05
sub1 = 0.3
sub2 = 0.5
subdrop = 0.4
sup1 = 0.7
class matplotlib.mathtext.Fonts(default_font_prop, mathtext_backend)[源代码]

基类:object

用于MathText的字体系统的抽象基类。

类必须能够获取符号键和字体文件名并返回字符度量。它还委托给后端类来进行实际的绘图。

default_font_prop 答: FontProperties 对象用于默认非数学字体,或用于Unicode(通用)字体呈现的基本字体。

mathtext_backend 一个子类 MathTextBackend 用于委托实际渲染。

destroy()[源代码]

在对象即将被销毁之前修复任何循环引用。

get_kern(font1, fontclass1, sym1, fontsize1, font2, fontclass2, sym2, fontsize2, dpi)[源代码]

获取字体间距 sym1sym2 .

芬太克斯 :Tex字体名称之一:

tt, it, rm, cal, sf, bf or default/regular (non-math)

FordCaseX 待办事项

symX :原始tex形式的符号。例如,“1”、“X”或“Sigma”

芬茨赛克斯 :字体大小(以磅为单位)

dpi :当前每英寸点数

get_metrics(font, font_class, sym, fontsize, dpi, math=True)[源代码]

font :Tex字体名称之一:

tt, it, rm, cal, sf, bf or default/regular (non-math)

font_class 待办事项

sym :原始tex形式的符号。例如,“1”、“X”或“Sigma”

字体大小 :字体大小(以磅为单位)

dpi :当前每英寸点数

math :sym是否为数学字符

返回具有以下属性的对象:

  • 提前 :标志符号的前进距离(以点为单位)。
  • 高度 :标志符号的高度(以点为单位)。
  • 宽度 :字形的宽度(以点为单位)。
  • xminxmaxyminymax -字形的墨迹矩形
  • 冰山 -从基线到字形顶部的距离。这符合Tex对“高度”的定义。
get_results(box)[源代码]

获取后端渲染数学表达式所需的数据。返回值是后端特定的。

get_sized_alternatives_for_symbol(fontname, sym)[源代码]

如果字体提供同一符号的多个大小,则重写。应返回匹配的符号列表 sym 各种尺寸。表达式渲染器将从此列表中为给定情况选择最合适的大小。

get_underline_thickness(font, fontsize, dpi)[源代码]

获取与给定字体匹配的线条粗细。用作绘制分数或根号等线条的基本单位。

get_used_characters()[源代码]

获取数学表达式中使用的字符集。用于需要设置字体子集的后端,以便知道要包括哪些字形。

get_xheight(font, fontsize, dpi)[源代码]

获取给定的xheight font字体大小 .

render_glyph(ox, oy, facename, font_class, sym, fontsize, dpi)[源代码]

画字形

  • oxoy 位置
  • 面名 :一个tex面名称
  • font_class
  • sym :tex符号名或单个字符
  • 字体大小 :字体大小(以磅为单位)
  • dpi :要绘制的DPI。
render_rect_filled(x1, y1, x2, y2)[源代码]

从中绘制填充矩形( x1y1x2y2

set_canvas_size(w, h, d)[源代码]

设置用于呈现数学表达式的缓冲区的大小。只对位图后端真正必要。

class matplotlib.mathtext.Glue(glue_type, copy=False)[源代码]

基类:matplotlib.mathtext.Node

此对象中的大部分信息存储在底层 GlueSpec 类,在多个粘合对象之间共享。(这是一个内存优化,可能不再重要了,但更容易坚持tex的做法。)

grow()[源代码]

增大一个级别。什么东西能有多大是没有限制的。

shrink()[源代码]

缩小一级。只有三个级别的大小,之后将不再变小。

class matplotlib.mathtext.GlueSpec(width=0.0, stretch=0.0, stretch_order=0, shrink=0.0, shrink_order=0)[源代码]

基类:object

Glue .

copy()[源代码]
classmethod factory(glue_type)[源代码]
class matplotlib.mathtext.HCentered(elements)[源代码]

基类:matplotlib.mathtext.Hlist

创建一个 Hlist 其内容集中在其封闭框中。

class matplotlib.mathtext.Hbox(width)[源代码]

基类:matplotlib.mathtext.Box

只有宽度(高度和深度为零)的框。

class matplotlib.mathtext.Hlist(elements, w=0.0, m='additional', do_kern=True)[源代码]

基类:matplotlib.mathtext.List

一个水平的框列表。

hpack(w=0.0, m='additional')[源代码]

主要职责是 hpack() 计算结果框的尺寸,如果预先指定了其中一个尺寸,则调整粘合。计算出的尺寸通常将所有的材料都封闭在新的盒子里;但是如果使用负胶水,如果盒子太满,或者 \vbox 包括已左移的其他框。

  • w :指定宽度
  • m :是“精确”或“附加”。

因此, hpack(w, 'exactly') 生成宽度正好为 w ,同时 hpack(w, 'additional') 生成一个宽度为自然宽度加上 w . 默认值生成具有自然宽度的框。

kern()[源代码]

插入 Kern 节点间 Char 要设置紧排的节点。这个 Char 节点本身决定了它们需要的紧排量(在 get_kerning() ,此函数只以正确的方式创建链接列表。

class matplotlib.mathtext.Hrule(state, thickness=None)[源代码]

基类:matplotlib.mathtext.Rule

方便类来创建水平规则。

class matplotlib.mathtext.Kern(width)[源代码]

基类:matplotlib.mathtext.Node

A Kern 节点有一个宽度字段来指定(通常为负)间距。当字体设计人员说将A和V这样的字母靠得更近或更远时,这种间距更正会出现在水平列表中。紧排节点也可以出现在垂直列表中,当 宽度 表示垂直方向上的附加间距。

depth = 0
grow()[源代码]

增大一个级别。什么东西能有多大是没有限制的。

height = 0
shrink()[源代码]

缩小一级。只有三个级别的大小,之后将不再变小。

class matplotlib.mathtext.List(elements)[源代码]

基类:matplotlib.mathtext.Box

节点列表(水平或垂直)。

grow()[源代码]

增大一个级别。什么东西能有多大是没有限制的。

shrink()[源代码]

缩小一级。只有三个级别的大小,之后将不再变小。

class matplotlib.mathtext.MathTextParser(output)[源代码]

基类:object

为给定后端创建MathTextParser 输出 .

get_depth(texstr, dpi=120, fontsize=14)[源代码]