matplotlib.pyplot.text

matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)[source]

Add text to the Axes.

Add the text s to the Axes at location x, y in data coordinates.

Parameters
x, yfloat

The position to place the text. By default, this is in data coordinates. The coordinate system can be changed using the transform parameter.

sstr

The text.

fontdictdict, default: None

A dictionary to override the default text properties. If fontdict is None, the defaults are determined by rcParams.

Returns
Text

The created Text instance.

Other Parameters
**kwargsText properties.

Other miscellaneous text parameters.

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

alpha

scalar or None

animated

bool

backgroundcolor

color

bbox

dict with properties for patches.FancyBboxPatch

clip_box

unknown

clip_on

unknown

clip_path

unknown

color or c

color

figure

Figure

fontfamily or family

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

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

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

in_layout

bool

label

object

linespacing

float (multiple of font size)

math_fontfamily

str

multialignment or ma

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

parse_math

bool

path_effects

AbstractPathEffect

picker

None or bool or float or callable

position

(float, float)

rasterized

bool

rotation

float or {'vertical', 'horizontal'}

rotation_mode

{None, 'default', 'anchor'}

sketch_params

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

snap

bool or None

text

object

transform

Transform

transform_rotates_text

bool

url

str

usetex

bool or None

verticalalignment or va

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

visible

bool

wrap

bool

x

float

y

float

zorder

float

Examples

Individual keyword arguments can be used to override any given parameter:

>>> text(x, y, s, fontsize=12)

The default transform specifies that text is in data coords, alternatively, you can specify text in axis coords ((0, 0) is lower-left and (1, 1) is upper-right). The example below places text in the center of the Axes:

>>> text(0.5, 0.5, 'matplotlib', horizontalalignment='center',
...      verticalalignment='center', transform=ax.transAxes)

You can put a rectangular box around the text instance (e.g., to set a background color) by using the keyword bbox. bbox is a dictionary of Rectangle properties. For example:

>>> text(x, y, s, bbox=dict(facecolor='red', alpha=0.5))