Source code for deephaven.plot.axistransform

#
# Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending
#

""" This module implements the AxisTransform class for performing axis transformation on plots before rendering. """

from typing import List

import jpy

from deephaven import DHError
from deephaven._wrapper import JObjectWrapper

_JAxisTransform = jpy.get_type("io.deephaven.plot.axistransformations.AxisTransform")
_JPlottingConvenience = jpy.get_type("io.deephaven.plot.PlottingConvenience")


[docs]class AxisTransform(JObjectWrapper): """ An axis transformation that is applied before rendering a plot. Axis transforms include logarithms, business time, etc. """ j_object_type = _JAxisTransform @property def j_object(self) -> jpy.JType: return self.j_axis_transform def __init__(self, j_axis_transform): self.j_axis_transform = j_axis_transform
[docs]def axis_transform_names() -> List[str]: """ Returns the names of available axis transforms. """ return list(_JPlottingConvenience.axisTransformNames())
[docs]def axis_transform(name: str) -> AxisTransform: """ Returns a predefined AxisTransform object by its name. Args: name (str): the predefined AxisTransform name Returns: a AxisTransform Raises: DHError """ try: return AxisTransform(j_axis_transform=_JPlottingConvenience.axisTransform(name)) except Exception as e: raise DHError(e, "failed to retrieve the named AxisTransform.") from e