matplotlib.text#
用于在图形中包含文本的类。
- class matplotlib.text.Text(x=0, y=0, text='', *, color=None, verticalalignment='baseline', horizontalalignment='left', multialignment=None, fontproperties=None, rotation=None, linespacing=None, rotation_mode=None, usetex=None, wrap=False, transform_rotates_text=False, parse_math=None, antialiased=None, **kwargs)[源代码]#
基类:
Artist处理在窗口或数据坐标系中存储和绘制文本。
在 x, y 处创建一个包含字符串 text 的
Text实例。文本相对于锚点 (x, y) 进行对齐,对齐方式由
horizontalalignment(默认:'left')和verticalalignment(默认:'baseline')决定。另请参阅 文本对齐。虽然 Text 接受 'label' 关键字参数,但默认情况下它不会添加到图例的句柄中。
有效的关键字参数有:
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
浮点数或 None
布尔值
布尔值
包含
FancyBboxPatch属性的字典或 None未知
未知
未知
fontfamily或family或fontname{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
字符串列表、字符串元组或 None
float 或 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
{0-1000 范围内的数值, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
{'normal', 'italic', 'oblique'}
{'normal', 'small-caps'}
{0-1000 范围内的数值, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
str
{'left', 'center', 'right'}
布尔值
object
str 或 None
'normal' 或浮点数,默认:'normal'
str
布尔值
{'left', 'right', 'center'}
布尔值
None 或 布尔值 或 浮点数 或 可调用对象
(浮点数, 浮点数)
布尔值
float 或 {'vertical', 'horizontal'}
{None, 'default', 'anchor', 'xtick', 'ytick'}
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
object
布尔值
str
布尔值,默认:
rcParams["text.usetex"](默认:False){'baseline', 'bottom', 'center', 'center_baseline', 'top'}
布尔值
布尔值
浮点数
浮点数
浮点数
- draw(renderer)[源代码]#
使用给定的渲染器绘制 Artist(及其子对象)。
如果美工对象不可见(
Artist.get_visible返回 False),则此操作无效。- 参数:
- renderer
RendererBase子类。
- renderer
备注
此方法在 Artist 子类中被覆盖。
- get_bbox_patch()[源代码]#
返回边界框补丁,如果尚未创建
patches.FancyBboxPatch,则返回 None。更多详细信息请参阅
Text.set_bbox。
- get_family()[源代码]#
get_fontfamily的别名。
- get_font()[源代码]#
get_fontproperties的别名。
- get_font_properties()[源代码]#
get_fontproperties的别名。
- get_math_fontfamily()[源代码]#
返回由 Matplotlib 渲染的数学文本的字体族名称。
默认值为
rcParams["mathtext.fontset"](默认:'dejavusans')。另请参阅
- get_name()[源代码]#
get_fontname的别名。
- get_size()[源代码]#
get_fontsize的别名。
- get_style()[源代码]#
get_fontstyle的别名。
- get_tightbbox(renderer=None)[源代码]#
获取美工对象在显示空间中的边界框,考虑裁剪。
- 参数:
- renderer
RendererBase, 可选 用于绘制图形的渲染器(即
fig.canvas.get_renderer())。
- renderer
- 返回:
Bboxor None闭合的边界框(图形像素坐标),如果裁剪导致无交集则返回 None。
另请参阅
Artist.get_window_extent获取美工边界框,忽略裁剪。
- get_variant()[源代码]#
get_fontvariant的别名。
- get_verticalalignment()[源代码]#
返回垂直对齐方式字符串。可选值为 'top'、'center'、'bottom'、'baseline' 或 'center_baseline'。
- get_weight()[源代码]#
get_fontweight的别名。
- get_window_extent(renderer=None, dpi=None)[源代码]#
返回以显示单位表示的、包围文本的
Bbox。除了内部使用外,这对于在网页上的 png 文件中指定可点击区域也很有用。
- 参数:
- renderer渲染器,可选
需要渲染器来计算边界框。如果 Artist 对象已经被绘制,渲染器会被缓存;因此,只有在第一次绘制之前调用
get_window_extent时才需要传递此参数。在实践中,通常更容易先触发绘制,例如调用draw_without_rendering或plt.show()。- dpifloat, 可选
计算 bbox 的 dpi 值,默认为
self.get_figure(root=True).dpi(不是渲染器 dpi);如果需要匹配使用自定义 dpi 值保存的图形区域,则应设置该值。
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, backgroundcolor=<UNSET>, bbox=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, fontfamily=<UNSET>, fontfeatures=<UNSET>, fontproperties=<UNSET>, fontsize=<UNSET>, fontstretch=<UNSET>, fontstyle=<UNSET>, fontvariant=<UNSET>, fontweight=<UNSET>, gid=<UNSET>, horizontalalignment=<UNSET>, in_layout=<UNSET>, label=<UNSET>, language=<UNSET>, linespacing=<UNSET>, math_fontfamily=<UNSET>, mouseover=<UNSET>, multialignment=<UNSET>, parse_math=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, position=<UNSET>, rasterized=<UNSET>, rotation=<UNSET>, rotation_mode=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, text=<UNSET>, transform=<UNSET>, transform_rotates_text=<UNSET>, url=<UNSET>, usetex=<UNSET>, verticalalignment=<UNSET>, visible=<UNSET>, wrap=<UNSET>, x=<UNSET>, y=<UNSET>, zorder=<UNSET>)[源代码]#
一次性设置多个属性。
a.set(a=A, b=B, c=C)
等同于
a.set_a(A) a.set_b(B) a.set_c(C)
除全名属性外,还支持别名,例如
set(lw=2)等同于set(linewidth=2),但同时传入两者会报错。各个 setter 的调用顺序与
set()中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。支持的属性包括:
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
浮点数或 None
布尔值
布尔值
包含
FancyBboxPatch属性的字典或 None未知
未知
未知
{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
字符串列表、字符串元组或 None
float 或 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
{0-1000 范围内的数值, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
{'normal', 'italic', 'oblique'}
{'normal', 'small-caps'}
{0-1000 范围内的数值, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
str
{'left', 'center', 'right'}
布尔值
object
str 或 None
'normal' 或浮点数,默认:'normal'
str
布尔值
{'left', 'right', 'center'}
布尔值
None 或 布尔值 或 浮点数 或 可调用对象
(浮点数, 浮点数)
布尔值
float 或 {'vertical', 'horizontal'}
{None, 'default', 'anchor', 'xtick', 'ytick'}
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
object
布尔值
str
布尔值,默认:
rcParams["text.usetex"](默认:False){'baseline', 'bottom', 'center', 'center_baseline', 'top'}
布尔值
布尔值
浮点数
浮点数
浮点数
- set_antialiased(antialiased)[源代码]#
设置是否使用抗锯齿渲染。
- 参数:
- antialiasedbool
备注
抗锯齿由
rcParams["text.antialiased"](默认:True)决定,如果文本包含数学表达式,则参数 antialiased 无效。
- set_backgroundcolor(color)[源代码]#
设置文本背景颜色。
这是通过 bbox(请参阅
set_bbox)实现的,必要时创建 bbox 补丁。- 参数:
- color颜色
另请参阅
set_bbox更改边界框的位置
- set_bbox(rectprops)[源代码]#
在文本后/周围绘制一个框。
这可以用来设置文本的背景和/或边框。它是通过文本后的
FancyBboxPatch实现的(另请参阅Text.get_bbox_patch)。默认情况下 bbox 补丁为 None,仅在需要时创建。- 参数:
- rectprops包含
FancyBboxPatch属性的字典或 None 默认的 boxstyle 为 'square'。
patches.FancyBboxPatch的突变比例(mutation scale)设置为字号大小。传递
None可彻底移除 bbox 补丁。
- rectprops包含
示例
t.set_bbox(dict(facecolor='red', alpha=0.5))
- set_clip_box(clipbox)[源代码]#
设置艺术家的裁剪
Bbox。- 参数:
- clipbox
BboxBase或 None 通常由
TransformedBbox创建。例如,TransformedBbox(Bbox([[0, 0], [1, 1]]), ax.transAxes)是添加到 Axes 的 Artist 对象的默认裁剪方式。
- clipbox
- set_clip_path(path, transform=None)[源代码]#
设置艺术家的裁剪路径。
- 参数:
- path
Patch或Path或TransformedPath或 None 裁剪路径。如果提供
Path,则必须同时提供 transform。如果为 None,则移除先前设置的裁剪路径。- transform
Transform, 可选 仅在 path 为
Path时使用,此时给定的Path将使用 transform 转换为TransformedPath。
- path
备注
为了效率,如果 path 是
Rectangle,此方法将裁剪框设置为对应的矩形,并将裁剪路径设置为None。出于技术原因(支持
set),也接受元组 (path, transform) 作为单个位置参数。
- set_family(fontname)[源代码]#
set_fontfamily的别名。
- set_font(fp)[源代码]#
set_fontproperties的别名。
- set_font_properties(fp)[源代码]#
set_fontproperties的别名。
- set_fontfamily(fontname)[源代码]#
设置字体族。可以是单个字符串,也可以是按优先级递减的字符串列表。每个字符串可以是真实的字体名称,也可以是通用字体类名称。如果是后者,则将在相应的 rcParams 中查找特定字体名称。
如果构建
Text实例时使用fontfamily=None,则字体将设置为rcParams["font.family"](默认:['sans-serif']),在对现有Text实例调用set_fontfamily()时也会执行相同的操作。- 参数:
- fontname{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
- set_fontfeatures(features)[源代码]#
设置要在字体上启用的特性标签。
- 参数:
- features字符串列表、字符串元组或 None
要与关联字体一起使用的特性标签列表。这些字符串最终会传递给 HarfBuzz,因此支持 hb_feature_from_string() 支持的所有字符串格式。但请注意,明确不支持子范围,行为可能会在未来发生变化。
例如,如果您想要的字体包含启用各种排版替代项的样式集,包括您不想使用的一种(例如,上下文连字),那么您可以传递以下内容来启用一个而不启用另一个
fp.set_features([ 'ss01', # Use Stylistic Set 1. '-clig', # But disable Contextural Ligatures. ])
可用的字体特性标签可在 https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist 找到。
- set_fontname(fontname)[源代码]#
set_fontfamily的别名。仅单向别名:getter 不同。
- 参数:
- fontname{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
- set_fontproperties(fp)[源代码]#
设置控制文本的字体属性。
- 参数:
- fp
font_manager.FontProperties或str或pathlib.Path 如果为
str,则将其解释为由FontProperties解析的 fontconfig 模式。如果为pathlib.Path,则将其解释为字体文件的绝对路径。
- fp
- set_fontsize(fontsize)[源代码]#
设置字号。
- 参数:
- fontsizefloat 或 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
如果是浮点数,则为以点为单位的字号。字符串值表示相对于默认字号的大小。
- set_fontstretch(stretch)[源代码]#
设置字体拉伸(水平压缩或扩展)。
- 参数:
- stretch{0-1000 范围内的数值,'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
- set_fontweight(weight)[源代码]#
设置字体粗细。
- 参数:
- weight{0-1000 范围内的数值,'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
- set_horizontalalignment(align)[源代码]#
设置相对于锚点的水平对齐方式。
另请参阅 文本对齐。
- 参数:
- align{'left', 'center', 'right'}
- set_language(language)[源代码]#
设置文本语言。
- 参数:
- languagestr 或 None
以 libraqm 接受的格式(即 BCP47 语言代码)指定的文本语言。
如果为 None,则默认为
rcParams["text.language"](默认:None)。
- set_linespacing(spacing)[源代码]#
设置行间距。
- 参数:
- spacing'normal' 或浮点数,默认:'normal'
如果是 'normal',则行间距由每一行的字体度量自动确定。
如果是浮点数,则每一行的行间距将固定为字号的该倍数。
- set_ma(align)[源代码]#
set_multialignment的别名。
- set_math_fontfamily(fontfamily)[源代码]#
设置由 Matplotlib 渲染的数学文本的字体族。
这仅影响 Matplotlib 自身的数学渲染器。在使用 TeX 渲染时(
usetex=True)没有影响。- 参数:
- fontfamilystr
字体族名称。
可用的字体族在 默认 matplotlibrc 文件 中定义。
另请参阅
- set_multialignment(align)[源代码]#
设置多行文本的对齐方式。
所有行的边界框布局由 horizontalalignment 和 verticalalignment 属性决定。此属性控制文本行在该框内的对齐方式。
- 参数:
- align{'left', 'right', 'center'}
- set_name(fontname)[源代码]#
set_fontname的别名。
- set_parse_math(parse_math)[源代码]#
覆盖开关以禁用此
Text的任何数学文本解析。- 参数:
- parse_mathbool
如果为 False,此
Text将永远不会使用数学文本。如果为 True,且存在偶数个未转义的美元符号,则将使用数学文本。
- set_rotation(s)[源代码]#
设置文本旋转。
- 参数:
- sfloat 或 {'vertical', 'horizontal'}
以数学正方向(逆时针)表示的旋转角度(以度为单位)。'horizontal' 等于 0,'vertical' 等于 90。
- set_rotation_mode(m)[源代码]#
设置文本旋转模式。
- 参数:
- m{None, 'default', 'anchor', 'xtick', 'ytick'}
如果为
"default",文本将先旋转,然后根据水平和垂直对齐方式进行对齐。如果为"anchor",则对齐发生在旋转之前。"xtick" 和 "ytick" 会调整水平/垂直对齐方式,使文本在视觉上指向其锚点。这主要用于旋转的刻度标签,并使它们很好地指向其刻度。传递None将把旋转模式设置为"default"。
- set_size(fontsize)[源代码]#
set_fontsize的别名。
- set_stretch(stretch)[源代码]#
set_fontstretch的别名。
- set_style(fontstyle)[源代码]#
set_fontstyle的别名。
- set_text(s)[源代码]#
设置文本字符串 s。
它可以包含换行符 (
\n) 或 LaTeX 语法中的数学公式。- 参数:
- s对象
任何对象都将转换为其
str表示形式,但None除外,它会被转换为空字符串。
- set_usetex(usetex)[源代码]#
- 参数:
- usetexbool 或 None
是否使用 TeX 进行渲染,
None表示使用rcParams["text.usetex"](默认值:False)。
- set_variant(variant)[源码]#
set_fontvariant的别名。
- set_verticalalignment(align)[源码]#
设置相对于锚点的垂直对齐方式。
另请参阅 文本对齐。
- 参数:
- align{'baseline', 'bottom', 'center', 'center_baseline', 'top'}
- set_weight(weight)[源码]#
set_fontweight的别名。
- set_wrap(wrap)[源码]#
设置文本是否可以换行。
换行可确保文本被限制在(子)图框内。它不考虑任何其他艺术家(artist)。
- 参数:
- wrapbool
备注
换行功能无法与
savefig(..., bbox_inches='tight')同时使用(IPython/Jupyter 中的%matplotlib inline内部也使用了该功能)。'tight' 设置会在换行之前重新调整画布大小以容纳所有内容。
- update(kwargs)[源码]#
[不推荐] 从字典 props 更新此 Artist 的属性。
不建议使用
此方法因历史原因保留。请改用
Artist.set。artist.update(props)目前几乎等同于artist.set(**props),唯一的区别在于set会额外检查属性是否通过别名重复指定。- 参数:
- propsdict
属性(键)及其新值的字典。
- 返回:
- list
来自配置的设置器的返回值列表。
- zorder = 3#
- class matplotlib.text.Annotation(text, xy, xytext=None, xycoords='data', textcoords=None, arrowprops=None, annotation_clip=None, **kwargs)[源码]#
基类:
Text,_AnnotationBaseAnnotation是一种可以引用特定位置 xy 的Text。还可以选择绘制一个从文本指向 xy 的箭头。- 属性:
- xy
被标注的位置。
- xycoords
xy 的坐标系。
- arrow_patch
一个用于从 xytext 指向 xy 的
FancyArrowPatch。
用文本 text 注释点 xy。
最简单的形式是,文本放置在 *xy* 处。
可选地,文本可以显示在另一个位置 *xytext*。然后可以通过定义 *arrowprops* 来添加一个从文本指向被标注点 *xy* 的箭头。
- 参数:
- textstr
标注的文本内容。
- xy(float, float)
要标注的点 *(x, y)*。坐标系统由 *xycoords* 决定。
- xytext(float, float),默认值: *xy*
放置文本的位置 *(x, y)*。坐标系统由 *textcoords* 决定。
- xycoordsstr 或
Artist或Transform或可调用对象的单个值或双元组,默认值:'data' 给出 *xy* 的坐标系统。支持以下类型的值:
以下字符串之一
值
描述
'figure points'
从图形左下角开始的点
'figure pixels'
从图形左下角开始的像素
'figure fraction'
从图形左下角开始的比例
'subfigure points'
从子图左下角开始的点
'subfigure pixels'
从子图左下角开始的像素
'subfigure fraction'
从子图左下角开始的比例
'axes points'
从坐标系左下角开始的点
'axes pixels'
从坐标系左下角开始的像素
'axes fraction'
从坐标系左下角开始的比例
'data'
使用被标注对象的坐标系统(默认)
'polar'
如果不是原生 'data' 坐标,则为 *(theta, r)*
请注意,对于父图形,'subfigure pixels' 和 'figure pixels' 是相同的,因此希望代码可在子图中使用的用户可以使用 'subfigure pixels'。
一个
Artist:xy 被解释为该艺术家Bbox的一部分。例如,(0, 0) 是边框的左下角,(0.5, 1) 是边框的中心顶部。一个用于将 xy 转换为屏幕坐标的
Transform。具有以下签名之一的函数
def transform(renderer) -> Bbox def transform(renderer) -> Transform
其中 renderer 是
RendererBase的子类。一个元组 *(xcoords, ycoords)*,为 *x* 和 *y* 指定独立的坐标系统。*xcoords* 和 *ycoords* 都必须是上述类型之一。
更多详细信息,请参阅 高级标注。
- textcoordsstr 或
Artist或Transform或可调用对象的单个值或双元组,默认值:xycoords 的值 给出 *xytext* 的坐标系统。
所有 *xycoords* 值均有效,以及以下字符串:
值
描述
'offset points'
与 *xy* 值之间的偏移量(单位:点)
'offset pixels'
与 *xy* 值之间的偏移量(单位:像素)
'offset fontsize'
与 *xy* 值之间的偏移量(相对于字体大小)
- arrowpropsdict,可选
用于在位置 xy 和 xytext 之间绘制
FancyArrowPatch箭头的属性。默认为 None,即不绘制箭头。出于历史原因,有两种不同的方式指定箭头:“简单”和“花式”
简单箭头
如果 *arrowprops* 不包含键 'arrowstyle',则允许的键为:
键
描述
width
箭头的宽度(单位:点)
headwidth
箭头头部底部的宽度(单位:点)
headlength
箭头头部的长度(单位:点)
shrink
从两端收缩的总长度比例
?
任何
FancyArrowPatch属性箭头附着在文本框的边缘,确切位置(角或中心)取决于其指向。
花式箭头
如果 *arrowprops* 中提供了 'arrowstyle',则使用此选项。
有效键为以下
FancyArrowPatch参数键
描述
arrowstyle
箭头样式
connectionstyle
连接样式
relpos
见下文;默认值为 (0.5, 0.5)
patchA
默认为文本的包围盒
patchB
默认为 None
shrinkA
单位:点。默认值:2 点
shrinkB
单位:点。默认值:2 点
mutation_scale
默认为文本大小(单位:点)
mutation_aspect
默认值为 1
?
任何
FancyArrowPatch属性箭头的精确起点由 relpos 定义。它是文本框的相对坐标元组,(0, 0) 为左下角,(1, 1) 为右上角。支持 <0 和 >1 的值,用于指定文本框外部的点。默认值为 (0.5, 0.5),因此起点位于文本框的中心。
- annotation_clip布尔值或 None,默认值: None
当标注点 *xy* 在坐标系区域之外时,是否剪裁(即不绘制)标注。
如果为 *True*,当 *xy* 在坐标系之外时,标注将被剪裁。
如果为 *False*,标注将始终被绘制。
如果为 *None*,当 *xy* 在坐标系之外且 *xycoords* 为 'data' 时,标注将被剪裁。
- **kwargs
额外的 kwargs 被传递给
Text。
- 返回:
另请参阅
- property anncoords#
用于
Annotation.xyann的坐标系。
- draw(renderer)[源码]#
使用给定的渲染器绘制 Artist(及其子对象)。
如果美工对象不可见(
Artist.get_visible返回 False),则此操作无效。- 参数:
- renderer
RendererBase子类。
- renderer
备注
此方法在 Artist 子类中被覆盖。
- get_anncoords()[源码]#
返回用于
Annotation.xyann的坐标系。另请参阅
Annotation中的 xycoords。
- get_tightbbox(renderer=None)[源码]#
获取美工对象在显示空间中的边界框,考虑裁剪。
- 参数:
- renderer
RendererBase, 可选 用于绘制图形的渲染器(即
fig.canvas.get_renderer())。
- renderer
- 返回:
Bboxor None闭合的边界框(图形像素坐标),如果裁剪导致无交集则返回 None。
另请参阅
Artist.get_window_extent获取美工边界框,忽略裁剪。
- get_window_extent(renderer=None)[源码]#
返回以显示单位表示的、包围文本的
Bbox。除了内部使用外,这对于在网页上的 png 文件中指定可点击区域也很有用。
- 参数:
- renderer渲染器,可选
计算边框需要渲染器。如果艺术家已经被绘制,渲染器会被缓存;因此,只有在第一次绘制之前调用
get_window_extent时才需要传递此参数。实际上,通常更容易先触发绘制,例如调用draw_without_rendering或plt.show()。- dpifloat, 可选
计算 bbox 的 dpi 值,默认为
self.get_figure(root=True).dpi(不是渲染器 dpi);如果需要匹配使用自定义 dpi 值保存的图形区域,则应设置该值。
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, anncoords=<UNSET>, annotation_clip=<UNSET>, antialiased=<UNSET>, backgroundcolor=<UNSET>, bbox=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, fontfamily=<UNSET>, fontfeatures=<UNSET>, fontproperties=<UNSET>, fontsize=<UNSET>, fontstretch=<UNSET>, fontstyle=<UNSET>, fontvariant=<UNSET>, fontweight=<UNSET>, gid=<UNSET>, horizontalalignment=<UNSET>, in_layout=<UNSET>, label=<UNSET>, language=<UNSET>, linespacing=<UNSET>, math_fontfamily=<UNSET>, mouseover=<UNSET>, multialignment=<UNSET>, parse_math=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, position=<UNSET>, rasterized=<UNSET>, rotation=<UNSET>, rotation_mode=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, text=<UNSET>, transform=<UNSET>, transform_rotates_text=<UNSET>, url=<UNSET>, usetex=<UNSET>, verticalalignment=<UNSET>, visible=<UNSET>, wrap=<UNSET>, x=<UNSET>, y=<UNSET>, zorder=<UNSET>)[源码]#
一次性设置多个属性。
a.set(a=A, b=B, c=C)
等同于
a.set_a(A) a.set_b(B) a.set_c(C)
除全名属性外,还支持别名,例如
set(lw=2)等同于set(linewidth=2),但同时传入两者会报错。各个 setter 的调用顺序与
set()中的参数顺序一致。然而,大多数属性并不相互依赖,因此顺序通常无关紧要。支持的属性包括:
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
浮点数或 None
布尔值
未知
annotation_clip(标注裁剪)布尔值或 None
布尔值
包含
FancyBboxPatch属性的字典或 NoneBboxBase或 None布尔值
Patch 或 (Path, Transform) 或 None
未知
fontfamily或family或fontname{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
字符串列表、字符串元组或 None
float 或 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
{0-1000 范围内的数值, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
{'normal', 'italic', 'oblique'}
{'normal', 'small-caps'}
{0-1000 范围内的数值, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
str
{'left', 'center', 'right'}
布尔值
object
str 或 None
'normal' 或浮点数,默认:'normal'
str
布尔值
{'left', 'right', 'center'}
布尔值
None 或 布尔值 或 浮点数 或 可调用对象
(浮点数, 浮点数)
布尔值
float 或 {'vertical', 'horizontal'}
{None, 'default', 'anchor', 'xtick', 'ytick'}
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
object
布尔值
str
布尔值,默认:
rcParams["text.usetex"](默认:False){'baseline', 'bottom', 'center', 'center_baseline', 'top'}
布尔值
布尔值
浮点数
浮点数
浮点数
- set_anncoords(coords)[源码]#
设置用于
Annotation.xyann的坐标系。另请参阅
Annotation中的 xycoords。
- set_figure(fig)[源码]#
设置美工对象所属的
Figure或SubFigure实例。警告
此函数通常不应由用户调用。
这是一个低级 API,仅修改美工对象的内部状态。仅修改此项是不够的,通常会导致不一致的状态,因为图形的状态也必须相应更改。
用户通常应该调用高级 API,即
Figure.add_artist或坐标轴方法 Adding artists 之一。
- property xyann#
文本位置。
另请参阅
Annotation中的 xytext。
- property xycoords#
- class matplotlib.text.OffsetFrom(artist, ref_coord, unit='points')[源码]#
基类:
object用于配合
Annotation使用的可调用辅助类。- 参数:
- class matplotlib.text.TextPath(xy, s, size=None, prop=None, _interpolation_steps=1, usetex=False)[源码]#
基类:
Path根据文本创建路径。
根据文本创建路径。请注意,它仅仅是一个路径,而不是一个艺术家(artist)。您需要使用
PathPatch(或其他艺术家)将此路径绘制到画布上。- 参数:
- xy元组或两个浮点值的数组
文本位置。如果不偏移,使用
xy=(0, 0)。- sstr
要转换为路径的文本。
- sizefloat, 可选
字体大小(以点为单位)。默认为通过字体属性 prop 指定的大小。
- prop
FontProperties, 可选 字体属性。如果不提供,将使用具有来自 rcParams 参数的默认
FontProperties。- _interpolation_stepsint, 可选
(当前被忽略)
- usetexbool, 默认值:False
是否使用 tex 渲染。
示例
以下代码根据字符串“ABC”(Helvetica 字体)创建一个路径;并根据 LaTeX 分数 1/2 创建另一个路径。
from matplotlib.text import TextPath from matplotlib.font_manager import FontProperties fp = FontProperties(family="Helvetica", style="italic") path1 = TextPath((12, 12), "ABC", size=12, prop=fp) path2 = TextPath((0, 0), r"$\frac{1}{2}$", size=12, usetex=True)
另请参阅 将文本用作路径。
- property codes#
返回代码。
- property vertices#
在必要时更新后返回缓存的路径。
- class matplotlib.text.TextToPath[源码]#
基类:
object一个将字符串转换为路径的类。
- DPI = 72#
- FONT_SCALE = 100.0#
- get_glyphs_mathtext(prop, s, glyph_map=None, return_new_glyphs_only=False)[源码]#
解析 mathtext 字符串 s 并将其转换为 (顶点, 代码) 对。
- get_glyphs_tex(prop, s, glyph_map=None, return_new_glyphs_only=False)[源码]#
使用 usetex 模式将字符串 s 转换为顶点和代码。
- get_glyphs_with_font(font, s, glyph_map=None, return_new_glyphs_only=False, *, features=None, language=None)[源码]#
使用提供的 ttf 字体将字符串 s 转换为顶点和代码。
- get_text_path(prop, s, ismath=False, *, features=None, language=None)[源码]#
将文本 s 转换为路径(matplotlib.path.Path 的顶点和代码元组)。
- 参数:
- prop
FontProperties 文本的字体属性。
- sstr
要转换的文本。
- ismath{False, True, "TeX"}
如果为 True,使用 mathtext 解析器。如果为 "TeX",使用 tex 进行渲染。
- languagestr, 可选
以 libraqm 接受的格式(即 BCP47 语言代码)指定的文本语言。
- prop
- 返回:
- vertslist
包含顶点 (x, y) 坐标的数组列表。
- codeslist
路径代码列表。
示例
从文本创建顶点和代码列表,并据此创建
Path。from matplotlib.path import Path from matplotlib.text import TextToPath from matplotlib.font_manager import FontProperties fp = FontProperties(family="Comic Neue", style="italic") verts, codes = TextToPath().get_text_path(fp, "ABC") path = Path(verts, codes, closed=False)
另请参阅
TextPath,了解从文本创建路径的更直接方式。