mpl_toolkits.mplot3d.art3d.Text3D#

class mpl_toolkits.mplot3d.art3d.Text3D(x=0, y=0, z=0, text='', zdir='z', axlim_clip=False, **kwargs)[source]#

Bases: Text

Text object with 3D position and direction.

Parameters:
x, y, zfloat

The position of the text.

textstr

The text string to display.

zdir{'x', 'y', 'z', None, 3-tuple}

The direction of the text. See get_dir_vector for a description of the values.

axlim_clipbool, default: False

Whether to hide text outside the axes view limits.

Added in version 3.10.

Other Parameters:
**kwargs

All other parameters are passed on to Text.

Create a Text instance at x, y with string text.

The text is aligned relative to the anchor point (x, y) according to horizontalalignment (default: 'left') and verticalalignment (default: 'baseline'). See also Text alignment.

While Text accepts the 'label' keyword argument, by default it is not added to the handles of a legend.

Valid keyword arguments are:

Property

Description

agg_filter

a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image

alpha

float or None

animated

bool

antialiased

bool

backgroundcolor

color

bbox

dict with properties for FancyBboxPatch or None

clip_box

unknown

clip_on

unknown

clip_path

unknown

color or c

color

figure

Figure or SubFigure

fontfamily or family or fontname

{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}

fontfeatures

list of str, or tuple of str, or None

fontproperties or font or font_properties

font_manager.FontProperties or str or pathlib.Path

fontsize or size

float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

fontstretch or stretch

{a numeric value in range 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}

fontstyle or style

{'normal', 'italic', 'oblique'}

fontvariant or variant

{'normal', 'small-caps'}

fontweight or weight

{a numeric value in range 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}

gid

str

horizontalalignment or ha

{'left', 'center', 'right'}

in_layout

bool

label

object

language

str or None

linespacing

'normal' or float, default: 'normal'

math_fontfamily

str

mouseover

bool

multialignment or ma

{'left', 'right', 'center'}

parse_math

bool

path_effects

list of AbstractPathEffect

picker

None or bool or float or callable

position

(float, float)

rasterized

bool

rotation

float or {'vertical', 'horizontal'}

rotation_mode

{None, 'default', 'anchor', 'xtick', 'ytick'}

sketch_params

(scale: float, length: float, randomness: float)

snap

bool or None

text

object

transform

Transform

transform_rotates_text

bool

url

str

usetex

bool, default: rcParams["text.usetex"] (default: False)

verticalalignment or va

{'baseline', 'bottom', 'center', 'center_baseline', 'top'}

visible

bool

wrap

bool

x

float

y

float

zorder

float

draw(renderer)[source]#

Draw the Artist (and its children) using the given renderer.

This has no effect if the artist is not visible (Artist.get_visible returns False).

Parameters:
rendererRendererBase subclass.

Notes

This method is overridden in the Artist subclasses.

get_position_3d()[source]#

Return the (x, y, z) position of the text.

get_tightbbox(renderer=None)[source]#

Get the artist's bounding box in display space, taking clipping into account.

Parameters:
rendererRendererBase, optional

Renderer used to draw the figure (i.e. fig.canvas.get_renderer()).

Returns:
Bbox or None

The enclosing bounding box (in figure pixel coordinates), or None if clipping results in no intersection.

See also

Artist.get_window_extent

Get the artist bounding box, ignoring clipping.

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>, position_3d=<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>, z=<UNSET>, zorder=<UNSET>)[source]#

Set multiple properties at once.

a.set(a=A, b=B, c=C)

is equivalent to

a.set_a(A)
a.set_b(B)
a.set_c(C)

In addition to the full property names, aliases are also supported, e.g. set(lw=2) is equivalent to set(linewidth=2), but it is an error to pass both simultaneously.

The order of the individual setter calls matches the order of parameters in set(). However, most properties do not depend on each other so that order is rarely relevant.

Supported properties are

Property

Description

3d_properties

float

agg_filter

a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image

alpha

float or None

animated

bool

antialiased

bool

backgroundcolor

color

bbox

dict with properties for FancyBboxPatch or None

clip_box

BboxBase or None

clip_on

bool

clip_path

Patch or (Path, Transform) or None

color or c

color

figure

Figure or SubFigure

fontfamily or family or fontname

{FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}

fontfeatures

list of str, or tuple of str, or None

fontproperties or font or font_properties

font_manager.FontProperties or str or pathlib.Path

fontsize or size

float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

fontstretch or stretch

{a numeric value in range 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}

fontstyle or style

{'normal', 'italic', 'oblique'}

fontvariant or variant

{'normal', 'small-caps'}

fontweight or weight

{a numeric value in range 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}

gid

str

horizontalalignment or ha

{'left', 'center', 'right'}

in_layout

bool

label

object

language

str or None

linespacing

'normal' or float, default: 'normal'

math_fontfamily

str

mouseover

bool

multialignment or ma

{'left', 'right', 'center'}

parse_math

bool

path_effects

list of AbstractPathEffect

picker

None or bool or float or callable

position

(float, float)

position_3d

(float, float, float)

rasterized

bool

rotation

float or {'vertical', 'horizontal'}

rotation_mode

{None, 'default', 'anchor', 'xtick', 'ytick'}

sketch_params

(scale: float, length: float, randomness: float)

snap

bool or None

text

object

transform

Transform

transform_rotates_text

bool

url

str

usetex

bool, default: rcParams["text.usetex"] (default: False)

verticalalignment or va

{'baseline', 'bottom', 'center', 'center_baseline', 'top'}

visible

bool

wrap

bool

x

float

y

float

z

float

zorder

float

set_3d_properties(z=0, zdir='z', axlim_clip=False)[source]#

Set the z position and direction of the text.

Parameters:
zfloat

The z-position in 3D space.

zdir{'x', 'y', 'z', 3-tuple}

The direction of the text. Default: 'z'. See get_dir_vector for a description of the values.

axlim_clipbool, default: False

Whether to hide text outside the axes view limits.

Added in version 3.10.

set_position_3d(xyz, zdir=None)[source]#

Set the (x, y, z) position of the text.

Parameters:
xyz(float, float, float)

The position in 3D space.

zdir{'x', 'y', 'z', None, 3-tuple}

The direction of the text. If unspecified, the zdir will not be changed. See get_dir_vector for a description of the values.

set_z(z)[source]#

Set the z position of the text.

Parameters:
zfloat