Source code for plotnine.positions.position_nudge

from __future__ import annotations

import typing

from .position import position

if typing.TYPE_CHECKING:
    from plotnine.typing import FloatArray, FloatArrayLike


[docs]class position_nudge(position): """ Nudge points Useful to nudge labels away from the points being labels. Parameters ---------- x : float Horizontal nudge y : float Vertical nudge """ def __init__(self, x=0, y=0): self.params = {"x": x, "y": y} @classmethod def compute_layer(cls, data, params, layout): trans_x = None # pyright: ignore trans_y = None # pyright: ignore if params["x"]: def trans_x(x: FloatArrayLike) -> FloatArray: return x + params["x"] if params["y"]: def trans_y(y: FloatArrayLike) -> FloatArray: return y + params["y"] return cls.transform_position(data, trans_x, trans_y)