.. _text-properties: Text properties and layout ========================== 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. .. plot:: pyplots/text_layout.py :include-source: