You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			179 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			179 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Python
		
	
from matplotlib.axis import Axis
 | 
						|
from matplotlib.transforms import Transform
 | 
						|
 | 
						|
from collections.abc import Callable, Iterable
 | 
						|
from typing import Literal
 | 
						|
from numpy.typing import ArrayLike
 | 
						|
 | 
						|
class ScaleBase:
 | 
						|
    def __init__(self, axis: Axis | None) -> None: ...
 | 
						|
    def get_transform(self) -> Transform: ...
 | 
						|
    def set_default_locators_and_formatters(self, axis: Axis) -> None: ...
 | 
						|
    def limit_range_for_scale(
 | 
						|
        self, vmin: float, vmax: float, minpos: float
 | 
						|
    ) -> tuple[float, float]: ...
 | 
						|
 | 
						|
class LinearScale(ScaleBase):
 | 
						|
    name: str
 | 
						|
 | 
						|
class FuncTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        forward: Callable[[ArrayLike], ArrayLike],
 | 
						|
        inverse: Callable[[ArrayLike], ArrayLike],
 | 
						|
    ) -> None: ...
 | 
						|
    def inverted(self) -> FuncTransform: ...
 | 
						|
 | 
						|
class FuncScale(ScaleBase):
 | 
						|
    name: str
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        axis: Axis | None,
 | 
						|
        functions: tuple[
 | 
						|
            Callable[[ArrayLike], ArrayLike], Callable[[ArrayLike], ArrayLike]
 | 
						|
        ],
 | 
						|
    ) -> None: ...
 | 
						|
 | 
						|
class LogTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    base: float
 | 
						|
    def __init__(
 | 
						|
        self, base: float, nonpositive: Literal["clip", "mask"] = ...
 | 
						|
    ) -> None: ...
 | 
						|
    def inverted(self) -> InvertedLogTransform: ...
 | 
						|
 | 
						|
class InvertedLogTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    base: float
 | 
						|
    def __init__(self, base: float) -> None: ...
 | 
						|
    def inverted(self) -> LogTransform: ...
 | 
						|
 | 
						|
class LogScale(ScaleBase):
 | 
						|
    name: str
 | 
						|
    subs: Iterable[int] | None
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        axis: Axis | None,
 | 
						|
        *,
 | 
						|
        base: float = ...,
 | 
						|
        subs: Iterable[int] | None = ...,
 | 
						|
        nonpositive: Literal["clip", "mask"] = ...
 | 
						|
    ) -> None: ...
 | 
						|
    @property
 | 
						|
    def base(self) -> float: ...
 | 
						|
    def get_transform(self) -> Transform: ...
 | 
						|
 | 
						|
class FuncScaleLog(LogScale):
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        axis: Axis | None,
 | 
						|
        functions: tuple[
 | 
						|
            Callable[[ArrayLike], ArrayLike], Callable[[ArrayLike], ArrayLike]
 | 
						|
        ],
 | 
						|
        base: float = ...,
 | 
						|
    ) -> None: ...
 | 
						|
    @property
 | 
						|
    def base(self) -> float: ...
 | 
						|
    def get_transform(self) -> Transform: ...
 | 
						|
 | 
						|
class SymmetricalLogTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    base: float
 | 
						|
    linthresh: float
 | 
						|
    linscale: float
 | 
						|
    def __init__(self, base: float, linthresh: float, linscale: float) -> None: ...
 | 
						|
    def inverted(self) -> InvertedSymmetricalLogTransform: ...
 | 
						|
 | 
						|
class InvertedSymmetricalLogTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    base: float
 | 
						|
    linthresh: float
 | 
						|
    invlinthresh: float
 | 
						|
    linscale: float
 | 
						|
    def __init__(self, base: float, linthresh: float, linscale: float) -> None: ...
 | 
						|
    def inverted(self) -> SymmetricalLogTransform: ...
 | 
						|
 | 
						|
class SymmetricalLogScale(ScaleBase):
 | 
						|
    name: str
 | 
						|
    subs: Iterable[int] | None
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        axis: Axis | None,
 | 
						|
        *,
 | 
						|
        base: float = ...,
 | 
						|
        linthresh: float = ...,
 | 
						|
        subs: Iterable[int] | None = ...,
 | 
						|
        linscale: float = ...
 | 
						|
    ) -> None: ...
 | 
						|
    @property
 | 
						|
    def base(self) -> float: ...
 | 
						|
    @property
 | 
						|
    def linthresh(self) -> float: ...
 | 
						|
    @property
 | 
						|
    def linscale(self) -> float: ...
 | 
						|
    def get_transform(self) -> SymmetricalLogTransform: ...
 | 
						|
 | 
						|
class AsinhTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    linear_width: float
 | 
						|
    def __init__(self, linear_width: float) -> None: ...
 | 
						|
    def inverted(self) -> InvertedAsinhTransform: ...
 | 
						|
 | 
						|
class InvertedAsinhTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    linear_width: float
 | 
						|
    def __init__(self, linear_width: float) -> None: ...
 | 
						|
    def inverted(self) -> AsinhTransform: ...
 | 
						|
 | 
						|
class AsinhScale(ScaleBase):
 | 
						|
    name: str
 | 
						|
    auto_tick_multipliers: dict[int, tuple[int, ...]]
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        axis: Axis | None,
 | 
						|
        *,
 | 
						|
        linear_width: float = ...,
 | 
						|
        base: float = ...,
 | 
						|
        subs: Iterable[int] | Literal["auto"] | None = ...,
 | 
						|
        **kwargs
 | 
						|
    ) -> None: ...
 | 
						|
    @property
 | 
						|
    def linear_width(self) -> float: ...
 | 
						|
    def get_transform(self) -> AsinhTransform: ...
 | 
						|
 | 
						|
class LogitTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    def __init__(self, nonpositive: Literal["mask", "clip"] = ...) -> None: ...
 | 
						|
    def inverted(self) -> LogisticTransform: ...
 | 
						|
 | 
						|
class LogisticTransform(Transform):
 | 
						|
    input_dims: int
 | 
						|
    output_dims: int
 | 
						|
    def __init__(self, nonpositive: Literal["mask", "clip"] = ...) -> None: ...
 | 
						|
    def inverted(self) -> LogitTransform: ...
 | 
						|
 | 
						|
class LogitScale(ScaleBase):
 | 
						|
    name: str
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        axis: Axis | None,
 | 
						|
        nonpositive: Literal["mask", "clip"] = ...,
 | 
						|
        *,
 | 
						|
        one_half: str = ...,
 | 
						|
        use_overline: bool = ...
 | 
						|
    ) -> None: ...
 | 
						|
    def get_transform(self) -> LogitTransform: ...
 | 
						|
 | 
						|
def get_scale_names() -> list[str]: ...
 | 
						|
def scale_factory(scale: str, axis: Axis, **kwargs) -> ScaleBase: ...
 | 
						|
def register_scale(scale_class: type[ScaleBase]) -> None: ...
 |