123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416 |
- from collections.abc import Callable, Hashable, Iterable
- import os
- from typing import Any, IO, Literal, TypeVar, overload
- import numpy as np
- from numpy.typing import ArrayLike
- from matplotlib.artist import Artist
- from matplotlib.axes import Axes, SubplotBase
- from matplotlib.backend_bases import (
- FigureCanvasBase,
- MouseButton,
- MouseEvent,
- RendererBase,
- )
- from matplotlib.colors import Colormap, Normalize
- from matplotlib.colorbar import Colorbar
- from matplotlib.cm import ScalarMappable
- from matplotlib.gridspec import GridSpec, SubplotSpec
- from matplotlib.image import _ImageBase, FigureImage
- from matplotlib.layout_engine import LayoutEngine
- from matplotlib.legend import Legend
- from matplotlib.lines import Line2D
- from matplotlib.patches import Rectangle, Patch
- from matplotlib.text import Text
- from matplotlib.transforms import Affine2D, Bbox, BboxBase, Transform
- from .typing import ColorType, HashableList
- _T = TypeVar("_T")
- class SubplotParams:
- def __init__(
- self,
- left: float | None = ...,
- bottom: float | None = ...,
- right: float | None = ...,
- top: float | None = ...,
- wspace: float | None = ...,
- hspace: float | None = ...,
- ) -> None: ...
- left: float
- right: float
- bottom: float
- top: float
- wspace: float
- hspace: float
- def update(
- self,
- left: float | None = ...,
- bottom: float | None = ...,
- right: float | None = ...,
- top: float | None = ...,
- wspace: float | None = ...,
- hspace: float | None = ...,
- ) -> None: ...
- class FigureBase(Artist):
- artists: list[Artist]
- lines: list[Line2D]
- patches: list[Patch]
- texts: list[Text]
- images: list[_ImageBase]
- legends: list[Legend]
- subfigs: list[SubFigure]
- stale: bool
- suppressComposite: bool | None
- def __init__(self, **kwargs) -> None: ...
- def autofmt_xdate(
- self,
- bottom: float = ...,
- rotation: int = ...,
- ha: Literal["left", "center", "right"] = ...,
- which: Literal["major", "minor", "both"] = ...,
- ) -> None: ...
- def get_children(self) -> list[Artist]: ...
- def contains(self, mouseevent: MouseEvent) -> tuple[bool, dict[Any, Any]]: ...
- def suptitle(self, t: str, **kwargs) -> Text: ...
- def get_suptitle(self) -> str: ...
- def supxlabel(self, t: str, **kwargs) -> Text: ...
- def get_supxlabel(self) -> str: ...
- def supylabel(self, t: str, **kwargs) -> Text: ...
- def get_supylabel(self) -> str: ...
- def get_edgecolor(self) -> ColorType: ...
- def get_facecolor(self) -> ColorType: ...
- def get_frameon(self) -> bool: ...
- def set_linewidth(self, linewidth: float) -> None: ...
- def get_linewidth(self) -> float: ...
- def set_edgecolor(self, color: ColorType) -> None: ...
- def set_facecolor(self, color: ColorType) -> None: ...
- def set_frameon(self, b: bool) -> None: ...
- @property
- def frameon(self) -> bool: ...
- @frameon.setter
- def frameon(self, b: bool) -> None: ...
- def add_artist(self, artist: Artist, clip: bool = ...) -> Artist: ...
- @overload
- def add_axes(self, ax: Axes) -> Axes: ...
- @overload
- def add_axes(
- self,
- rect: tuple[float, float, float, float],
- projection: None | str = ...,
- polar: bool = ...,
- **kwargs
- ) -> Axes: ...
- # TODO: docstring indicates SubplotSpec a valid arg, but none of the listed signatures appear to be that
- @overload
- def add_subplot(
- self, nrows: int, ncols: int, index: int | tuple[int, int], **kwargs
- ) -> Axes: ...
- @overload
- def add_subplot(self, pos: int, **kwargs) -> Axes: ...
- @overload
- def add_subplot(self, ax: Axes, **kwargs) -> Axes: ...
- @overload
- def add_subplot(self, ax: SubplotSpec, **kwargs) -> Axes: ...
- @overload
- def add_subplot(self, **kwargs) -> Axes: ...
- @overload
- def subplots(
- self,
- nrows: int = ...,
- ncols: int = ...,
- *,
- sharex: bool | Literal["none", "all", "row", "col"] = ...,
- sharey: bool | Literal["none", "all", "row", "col"] = ...,
- squeeze: Literal[False],
- width_ratios: ArrayLike | None = ...,
- height_ratios: ArrayLike | None = ...,
- subplot_kw: dict[str, Any] | None = ...,
- gridspec_kw: dict[str, Any] | None = ...
- ) -> np.ndarray: ...
- @overload
- def subplots(
- self,
- nrows: int = ...,
- ncols: int = ...,
- *,
- sharex: bool | Literal["none", "all", "row", "col"] = ...,
- sharey: bool | Literal["none", "all", "row", "col"] = ...,
- squeeze: bool = ...,
- width_ratios: ArrayLike | None = ...,
- height_ratios: ArrayLike | None = ...,
- subplot_kw: dict[str, Any] | None = ...,
- gridspec_kw: dict[str, Any] | None = ...
- ) -> np.ndarray | SubplotBase | Axes: ...
- def delaxes(self, ax: Axes) -> None: ...
- def clear(self, keep_observers: bool = ...) -> None: ...
- def clf(self, keep_observers: bool = ...) -> None: ...
- @overload
- def legend(self) -> Legend: ...
- @overload
- def legend(self, handles: Iterable[Artist], labels: Iterable[str], **kwargs) -> Legend: ...
- @overload
- def legend(self, *, handles: Iterable[Artist], **kwargs) -> Legend: ...
- @overload
- def legend(self, labels: Iterable[str], **kwargs) -> Legend: ...
- @overload
- def legend(self, **kwargs) -> Legend: ...
- def text(
- self,
- x: float,
- y: float,
- s: str,
- fontdict: dict[str, Any] | None = ...,
- **kwargs
- ) -> Text: ...
- def colorbar(
- self,
- mappable: ScalarMappable,
- cax: Axes | None = ...,
- ax: Axes | Iterable[Axes] | None = ...,
- use_gridspec: bool = ...,
- **kwargs
- ) -> Colorbar: ...
- def subplots_adjust(
- self,
- left: float | None = ...,
- bottom: float | None = ...,
- right: float | None = ...,
- top: float | None = ...,
- wspace: float | None = ...,
- hspace: float | None = ...,
- ) -> None: ...
- def align_xlabels(self, axs: Iterable[Axes] | None = ...) -> None: ...
- def align_ylabels(self, axs: Iterable[Axes] | None = ...) -> None: ...
- def align_labels(self, axs: Iterable[Axes] | None = ...) -> None: ...
- def add_gridspec(self, nrows: int = ..., ncols: int = ..., **kwargs) -> GridSpec: ...
- @overload
- def subfigures(
- self,
- nrows: int = ...,
- ncols: int = ...,
- squeeze: Literal[False] = ...,
- wspace: float | None = ...,
- hspace: float | None = ...,
- width_ratios: ArrayLike | None = ...,
- height_ratios: ArrayLike | None = ...,
- **kwargs
- ) -> np.ndarray: ...
- @overload
- def subfigures(
- self,
- nrows: int = ...,
- ncols: int = ...,
- squeeze: Literal[True] = ...,
- wspace: float | None = ...,
- hspace: float | None = ...,
- width_ratios: ArrayLike | None = ...,
- height_ratios: ArrayLike | None = ...,
- **kwargs
- ) -> np.ndarray | SubFigure: ...
- def add_subfigure(self, subplotspec: SubplotSpec, **kwargs) -> SubFigure: ...
- def sca(self, a: Axes) -> Axes: ...
- def gca(self) -> Axes: ...
- def _gci(self) -> ScalarMappable | None: ...
- def _process_projection_requirements(
- self, *, axes_class=None, polar=False, projection=None, **kwargs
- ) -> tuple[type[Axes], dict[str, Any]]: ...
- def get_default_bbox_extra_artists(self) -> list[Artist]: ...
- def get_tightbbox(
- self,
- renderer: RendererBase | None = ...,
- *,
- bbox_extra_artists: Iterable[Artist] | None = ...,
- ) -> Bbox: ...
- @overload
- def subplot_mosaic(
- self,
- mosaic: str,
- *,
- sharex: bool = ...,
- sharey: bool = ...,
- width_ratios: ArrayLike | None = ...,
- height_ratios: ArrayLike | None = ...,
- empty_sentinel: str = ...,
- subplot_kw: dict[str, Any] | None = ...,
- per_subplot_kw: dict[str | tuple[str, ...], dict[str, Any]] | None = ...,
- gridspec_kw: dict[str, Any] | None = ...,
- ) -> dict[str, Axes]: ...
- @overload
- def subplot_mosaic(
- self,
- mosaic: list[HashableList[_T]],
- *,
- sharex: bool = ...,
- sharey: bool = ...,
- width_ratios: ArrayLike | None = ...,
- height_ratios: ArrayLike | None = ...,
- empty_sentinel: _T = ...,
- subplot_kw: dict[str, Any] | None = ...,
- per_subplot_kw: dict[_T | tuple[_T, ...], dict[str, Any]] | None = ...,
- gridspec_kw: dict[str, Any] | None = ...,
- ) -> dict[_T, Axes]: ...
- @overload
- def subplot_mosaic(
- self,
- mosaic: list[HashableList[Hashable]],
- *,
- sharex: bool = ...,
- sharey: bool = ...,
- width_ratios: ArrayLike | None = ...,
- height_ratios: ArrayLike | None = ...,
- empty_sentinel: Any = ...,
- subplot_kw: dict[str, Any] | None = ...,
- per_subplot_kw: dict[Hashable | tuple[Hashable, ...], dict[str, Any]] | None = ...,
- gridspec_kw: dict[str, Any] | None = ...,
- ) -> dict[Hashable, Axes]: ...
- class SubFigure(FigureBase):
- figure: Figure
- subplotpars: SubplotParams
- dpi_scale_trans: Affine2D
- canvas: FigureCanvasBase
- transFigure: Transform
- bbox_relative: Bbox
- figbbox: BboxBase
- bbox: BboxBase
- transSubfigure: Transform
- patch: Rectangle
- def __init__(
- self,
- parent: Figure | SubFigure,
- subplotspec: SubplotSpec,
- *,
- facecolor: ColorType | None = ...,
- edgecolor: ColorType | None = ...,
- linewidth: float = ...,
- frameon: bool | None = ...,
- **kwargs
- ) -> None: ...
- @property
- def dpi(self) -> float: ...
- @dpi.setter
- def dpi(self, value: float) -> None: ...
- def get_dpi(self) -> float: ...
- def set_dpi(self, val) -> None: ...
- def get_constrained_layout(self) -> bool: ...
- def get_constrained_layout_pads(
- self, relative: bool = ...
- ) -> tuple[float, float, float, float]: ...
- def get_layout_engine(self) -> LayoutEngine: ...
- @property # type: ignore[misc]
- def axes(self) -> list[Axes]: ... # type: ignore[override]
- def get_axes(self) -> list[Axes]: ...
- class Figure(FigureBase):
- figure: Figure
- bbox_inches: Bbox
- dpi_scale_trans: Affine2D
- bbox: BboxBase
- figbbox: BboxBase
- transFigure: Transform
- transSubfigure: Transform
- patch: Rectangle
- subplotpars: SubplotParams
- def __init__(
- self,
- figsize: tuple[float, float] | None = ...,
- dpi: float | None = ...,
- *,
- facecolor: ColorType | None = ...,
- edgecolor: ColorType | None = ...,
- linewidth: float = ...,
- frameon: bool | None = ...,
- subplotpars: SubplotParams | None = ...,
- tight_layout: bool | dict[str, Any] | None = ...,
- constrained_layout: bool | dict[str, Any] | None = ...,
- layout: Literal["constrained", "compressed", "tight"]
- | LayoutEngine
- | None = ...,
- **kwargs
- ) -> None: ...
- def pick(self, mouseevent: MouseEvent) -> None: ...
- def set_layout_engine(
- self,
- layout: Literal["constrained", "compressed", "tight", "none"]
- | LayoutEngine
- | None = ...,
- **kwargs
- ) -> None: ...
- def get_layout_engine(self) -> LayoutEngine | None: ...
- def _repr_html_(self) -> str | None: ...
- def show(self, warn: bool = ...) -> None: ...
- @property # type: ignore[misc]
- def axes(self) -> list[Axes]: ... # type: ignore[override]
- def get_axes(self) -> list[Axes]: ...
- @property
- def dpi(self) -> float: ...
- @dpi.setter
- def dpi(self, dpi: float) -> None: ...
- def get_tight_layout(self) -> bool: ...
- def get_constrained_layout_pads(
- self, relative: bool = ...
- ) -> tuple[float, float, float, float]: ...
- def get_constrained_layout(self) -> bool: ...
- canvas: FigureCanvasBase
- def set_canvas(self, canvas: FigureCanvasBase) -> None: ...
- def figimage(
- self,
- X: ArrayLike,
- xo: int = ...,
- yo: int = ...,
- alpha: float | None = ...,
- norm: str | Normalize | None = ...,
- cmap: str | Colormap | None = ...,
- vmin: float | None = ...,
- vmax: float | None = ...,
- origin: Literal["upper", "lower"] | None = ...,
- resize: bool = ...,
- **kwargs
- ) -> FigureImage: ...
- def set_size_inches(
- self, w: float | tuple[float, float], h: float | None = ..., forward: bool = ...
- ) -> None: ...
- def get_size_inches(self) -> np.ndarray: ...
- def get_figwidth(self) -> float: ...
- def get_figheight(self) -> float: ...
- def get_dpi(self) -> float: ...
- def set_dpi(self, val: float) -> None: ...
- def set_figwidth(self, val: float, forward: bool = ...) -> None: ...
- def set_figheight(self, val: float, forward: bool = ...) -> None: ...
- def clear(self, keep_observers: bool = ...) -> None: ...
- def draw_without_rendering(self) -> None: ...
- def draw_artist(self, a: Artist) -> None: ...
- def add_axobserver(self, func: Callable[[Figure], Any]) -> None: ...
- def savefig(
- self,
- fname: str | os.PathLike | IO,
- *,
- transparent: bool | None = ...,
- **kwargs
- ) -> None: ...
- def ginput(
- self,
- n: int = ...,
- timeout: float = ...,
- show_clicks: bool = ...,
- mouse_add: MouseButton = ...,
- mouse_pop: MouseButton = ...,
- mouse_stop: MouseButton = ...,
- ) -> list[tuple[int, int]]: ...
- def waitforbuttonpress(self, timeout: float = ...) -> None | bool: ...
- def tight_layout(
- self,
- *,
- pad: float = ...,
- h_pad: float | None = ...,
- w_pad: float | None = ...,
- rect: tuple[float, float, float, float] | None = ...
- ) -> None: ...
- def figaspect(arg: float | ArrayLike) -> tuple[float, float]: ...
|