plotnine.geom_text

geom_text(
    mapping=None,
    data=None,
    *,
    stat="identity",
    position="identity",
    na_rm=False,
    inherit_aes=True,
    show_legend=None,
    raster=False,
    parse=False,
    family=None,
    fontweight="normal",
    fontstyle="normal",
    nudge_x=0,
    nudge_y=0,
    adjust_text=None,
    format_string=None,
    path_effects=None,
    **kwargs
)

Textual annotations

Parameters

mapping : aes = None

Aesthetic mappings created with aes. If specified and inherit_aes=True, it is combined with the default mapping for the plot. You must supply mapping if there is no plot mapping.

Aesthetic Default value
label
x
y
alpha 1
angle 0
color 'black'
group
ha 'center'
lineheight 1.2
size 11
va 'center'

The bold aesthetics are required.

Aesthetics Descriptions

ha

Horizontal alignment. One of left, center or right.

va

Vertical alignment. One of top, center, bottom, baseline.

data : DataFrame = None

The data to be displayed in this layer. If None, the data from from the ggplot() call is used. If specified, it overrides the data from the ggplot() call.

stat : str | stat = "identity"

The statistical transformation to use on the data for this layer. If it is a string, it must be the registered and known to Plotnine.

position : str | position = "identity"

Position adjustment. If it is a string, it must be registered and known to Plotnine.

na_rm : bool = False

If False, removes missing values with a warning. If True silently removes missing values.

inherit_aes : bool = True

If False, overrides the default aesthetics.

show_legend : bool | dict = None

Whether this layer should be included in the legends. None the default, includes any aesthetics that are mapped. If a bool, False never includes and True always includes. A dict can be used to exclude specific aesthetis of the layer from showing in the legend. e.g show_legend={'color': False}, any other aesthetic are included by default.

raster : bool = False

If True, draw onto this layer a raster (bitmap) object even ifthe final image is in vector format.

parse : bool = False

If True, the labels will be rendered with latex.

family : str = None

Font family.

fontweight : int | str = "normal"

Font weight.

fontstyle : Literal["normal", "italic", "oblique"] = "normal"

Font style.

nudge_x : float = 0

Horizontal adjustment to apply to the text

nudge_y : float = 0

Vertical adjustment to apply to the text

adjust_text

Parameters to adjust_text will repel overlapping texts. This parameter takes priority of over nudge_x and nudge_y. adjust_text does not work well when it is used in the first layer of the plot, or if it is the only layer. For more see the documentation at https://github.com/Phlya/adjustText/wiki .

format_string : str = None

If not None, then the text is formatted with this string using str.format e.g:

# 2.348 -> "2.35%"
geom_text(format_string="{:.2f}%")
path_effects : list = None

If not None, then the text will use these effects. See documentation for more details.

**kwargs : Any = {}

Aesthetics or parameters used by the stat.

See Also

geom_label
Text
patheffects