matplotlib.textpath
¶
-
class
matplotlib.textpath.
TextPath
(xy, s, size=None, prop=None, _interpolation_steps=1, usetex=False, *args, **kwargs)[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
, optionalFont property. If not provided, will use a default
FontProperties
with parameters from the rcParams._interpolation_steps : integer, optional
(Currently ignored)
usetex : bool, optional
Whether to use tex rendering. Defaults to
False
.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 Demo Text Path.
-
codes
¶ Return the codes
-
is_math_text
(s)[source]¶ [Deprecated] Returns True if the given string s contains any mathtext.
Notes
Deprecated since version 3.1.
-
text_get_vertices_codes
(prop, s, usetex)[source]¶ [Deprecated] Convert string s to a (vertices, codes) pair using font property prop.
Notes
Deprecated since version 3.1.
-
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_text_path
(prop, s, ismath=False, usetex=<deprecated parameter>)[source]¶ Convert text s to path (a tuple of vertices and codes for matplotlib.path.Path).
Parameters: prop :
matplotlib.font_manager.FontProperties
instanceThe 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 renderering.
usetex : bool, optional
If set, forces ismath to True. This parameter is deprecated.
Returns: verts, codes : tuple of lists
verts is a list of numpy arrays containing the x and y coordinates of the vertices. codes is 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.
-