The :class:`matplotlib.text.Text` instances have a variety of properties which can be configured via keyword arguments to the text commands (eg :func:`~matplotlib.pyplot.title`, :func:`~matplotlib.pyplot.xlabel` and :func:`~matplotlib.pyplot.text`).
Property | Value Type |
---|---|
alpha | float |
backgroundcolor | any matplotlib color |
bbox | rectangle prop dict plus key 'pad' which is a pad in points |
clip_box | a matplotlib.transform.Bbox instance |
clip_on | [True | False] |
clip_path | a Path instance and a Transform instance, a Patch |
color | any matplotlib color |
family | [ 'serif' | 'sans-serif' | 'cursive' | 'fantasy' | 'monospace' ] |
fontproperties | a matplotlib.font_manager.FontProperties instance |
horizontalalignment or ha | [ 'center' | 'right' | 'left' ] |
label | any string |
linespacing | float |
multialignment | ['left' | 'right' | 'center' ] |
name or fontname | string eg, ['Sans' | 'Courier' | 'Helvetica' ...] |
picker | [None|float|boolean|callable] |
position | (x,y) |
rotation | [ angle in degrees 'vertical' | 'horizontal' |
size or fontsize | [ size in points | relative size eg 'smaller', 'x-large' ] |
style or fontstyle | [ 'normal' | 'italic' | 'oblique'] |
text | string or anything printable with '%s' conversion |
transform | a matplotlib.transform transformation instance |
variant | [ 'normal' | 'small-caps' ] |
verticalalignment or va | [ 'center' | 'top' | 'bottom' | 'baseline' ] |
visible | [True | False] |
weight or fontweight | [ 'normal' | 'bold' | 'heavy' | 'light' | 'ultrabold' | 'ultralight'] |
x | float |
y | float |
zorder | any number |
You can layout text with the alignment arguments horizontalalignment, verticalalignment, and multialignment. horizontalalignment controls whether the x positional argument for the text indicates the left, center or right side of the text bounding box. verticalalignment controls whether the y positional argument for the text indicates the bottom, center or top side of the text bounding box. multialignment, for newline separated strings only, controls whether the different lines are left, center or right justified. Here is an example which uses the :func:`~matplotlib.pyplot.text` command to show the various alignment possibilities. The use of transform=ax.transAxes throughout the code indicates that the coordinates are given relative to the axes bounding box, with 0,0 being the lower left of the axes and 1,1 the upper right.