matplotlib / 3.5.1 / textpath_api.html /

matplotlib.textpath

class matplotlib.textpath. TextPath ( xy, s, size=None, prop=None, _interpolation_steps=1, usetex=False ) [source]

Bases: matplotlib.path.Path

Create a path from the text.

Create a path from the text. Note that it simply is a path, not an artist. You need to use the PathPatch (or other artists) to draw this path onto the canvas.

Parameters
xy tuple or array of two float values

Position of the text. For no offset, use xy=(0, 0).

s str

The text to convert to a path.

size float, optional

Font size in points. Defaults to the size specified via the font properties prop.

prop matplotlib.font_manager.FontProperties, optional

Font property. If not provided, will use a default FontProperties with parameters from the rcParams.

_interpolation_steps int, optional

(Currently ignored)

usetex bool, default: False

Whether to use tex rendering.

Examples

The following creates a path from the string "ABC" with Helvetica font face; and another path from the latex fraction 1/2:

from matplotlib.textpath 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)

Also see Using a text as a Path.

property codes

Return the codes

get_size ( ) [source]

Get the text size.

set_size ( size ) [source]

Set the text size.

property vertices

Return the cached path after updating it if necessary.

class matplotlib.textpath. TextToPath [source]

Bases: object

A class that converts strings to paths.

DPI =72
FONT_SCALE =100.0
get_glyphs_mathtext ( prop, s, glyph_map=None, return_new_glyphs_only=False ) [source]

Parse mathtext string s and convert it to a (vertices, codes) pair.

get_glyphs_tex ( prop, s, glyph_map=None, return_new_glyphs_only=False ) [source]

Convert the string s to vertices and codes using usetex mode.

get_glyphs_with_font ( font, s, glyph_map=None, return_new_glyphs_only=False ) [source]

Convert string s to vertices and codes using the provided ttf font.

get_texmanager ( ) [source]

Return the cached TexManager instance.

get_text_path ( prop, s, ismath=False ) [source]

Convert text s to path (a tuple of vertices and codes for matplotlib.path.Path).

Parameters
prop FontProperties

The font properties for the text.

s str

The text to be converted.

ismath {False, True, "TeX"}

If True, use mathtext parser. If "TeX", use tex for rendering.

Returns
verts list

A list of numpy arrays containing the x and y coordinates of the vertices.

codes list

A list of path codes.

Examples

Create a list of vertices and codes from a text, and create a Path from those:

from matplotlib.path import Path
from matplotlib.textpath import TextToPath
from matplotlib.font_manager import FontProperties

fp = FontProperties(family="Humor Sans", style="italic")
verts, codes = TextToPath().get_text_path(fp, "ABC")
path = Path(verts, codes, closed=False)

Also see TextPath for a more direct way to create a path from a text.

get_text_width_height_descent ( s, prop, ismath ) [source]

© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/textpath_api.html