artist.pyi 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. from .axes._base import _AxesBase
  2. from .backend_bases import RendererBase, MouseEvent
  3. from .figure import Figure, SubFigure
  4. from .path import Path
  5. from .patches import Patch
  6. from .patheffects import AbstractPathEffect
  7. from .transforms import (
  8. BboxBase,
  9. Bbox,
  10. Transform,
  11. TransformedPatchPath,
  12. TransformedPath,
  13. )
  14. import numpy as np
  15. from collections.abc import Callable, Iterable
  16. from typing import Any, Literal, NamedTuple, TextIO, overload, TypeVar
  17. from numpy.typing import ArrayLike
  18. _T_Artist = TypeVar("_T_Artist", bound=Artist)
  19. def allow_rasterization(draw): ...
  20. class _XYPair(NamedTuple):
  21. x: ArrayLike
  22. y: ArrayLike
  23. class _Unset: ...
  24. class Artist:
  25. zorder: float
  26. stale_callback: Callable[[Artist, bool], None] | None
  27. @property
  28. def figure(self) -> Figure | SubFigure: ...
  29. clipbox: BboxBase | None
  30. def __init__(self) -> None: ...
  31. def remove(self) -> None: ...
  32. def have_units(self) -> bool: ...
  33. # TODO units
  34. def convert_xunits(self, x): ...
  35. def convert_yunits(self, y): ...
  36. @property
  37. def axes(self) -> _AxesBase | None: ...
  38. @axes.setter
  39. def axes(self, new_axes: _AxesBase | None) -> None: ...
  40. @property
  41. def stale(self) -> bool: ...
  42. @stale.setter
  43. def stale(self, val: bool) -> None: ...
  44. def get_window_extent(self, renderer: RendererBase | None = ...) -> Bbox: ...
  45. def get_tightbbox(self, renderer: RendererBase | None = ...) -> Bbox | None: ...
  46. def add_callback(self, func: Callable[[Artist], Any]) -> int: ...
  47. def remove_callback(self, oid: int) -> None: ...
  48. def pchanged(self) -> None: ...
  49. def is_transform_set(self) -> bool: ...
  50. def set_transform(self, t: Transform | None) -> None: ...
  51. def get_transform(self) -> Transform: ...
  52. def get_children(self) -> list[Artist]: ...
  53. # TODO can these dicts be type narrowed? e.g. str keys
  54. def contains(self, mouseevent: MouseEvent) -> tuple[bool, dict[Any, Any]]: ...
  55. def pickable(self) -> bool: ...
  56. def pick(self, mouseevent: MouseEvent) -> None: ...
  57. def set_picker(
  58. self,
  59. picker: None
  60. | bool
  61. | float
  62. | Callable[[Artist, MouseEvent], tuple[bool, dict[Any, Any]]],
  63. ) -> None: ...
  64. def get_picker(
  65. self,
  66. ) -> None | bool | float | Callable[
  67. [Artist, MouseEvent], tuple[bool, dict[Any, Any]]
  68. ]: ...
  69. def get_url(self) -> str | None: ...
  70. def set_url(self, url: str | None) -> None: ...
  71. def get_gid(self) -> str | None: ...
  72. def set_gid(self, gid: str | None) -> None: ...
  73. def get_snap(self) -> bool | None: ...
  74. def set_snap(self, snap: bool | None) -> None: ...
  75. def get_sketch_params(self) -> tuple[float, float, float] | None: ...
  76. def set_sketch_params(
  77. self,
  78. scale: float | None = ...,
  79. length: float | None = ...,
  80. randomness: float | None = ...,
  81. ) -> None: ...
  82. def set_path_effects(self, path_effects: list[AbstractPathEffect]) -> None: ...
  83. def get_path_effects(self) -> list[AbstractPathEffect]: ...
  84. @overload
  85. def get_figure(self, root: Literal[True]) -> Figure | None: ...
  86. @overload
  87. def get_figure(self, root: Literal[False]) -> Figure | SubFigure | None: ...
  88. @overload
  89. def get_figure(self, root: bool = ...) -> Figure | SubFigure | None: ...
  90. def set_figure(self, fig: Figure | SubFigure) -> None: ...
  91. def set_clip_box(self, clipbox: BboxBase | None) -> None: ...
  92. def set_clip_path(
  93. self,
  94. path: Patch | Path | TransformedPath | TransformedPatchPath | None,
  95. transform: Transform | None = ...,
  96. ) -> None: ...
  97. def get_alpha(self) -> float | None: ...
  98. def get_visible(self) -> bool: ...
  99. def get_animated(self) -> bool: ...
  100. def get_in_layout(self) -> bool: ...
  101. def get_clip_on(self) -> bool: ...
  102. def get_clip_box(self) -> Bbox | None: ...
  103. def get_clip_path(
  104. self,
  105. ) -> Patch | Path | TransformedPath | TransformedPatchPath | None: ...
  106. def get_transformed_clip_path_and_affine(
  107. self,
  108. ) -> tuple[None, None] | tuple[Path, Transform]: ...
  109. def set_clip_on(self, b: bool) -> None: ...
  110. def get_rasterized(self) -> bool: ...
  111. def set_rasterized(self, rasterized: bool) -> None: ...
  112. def get_agg_filter(self) -> Callable[[ArrayLike, float], tuple[np.ndarray, float, float]] | None: ...
  113. def set_agg_filter(
  114. self, filter_func: Callable[[ArrayLike, float], tuple[np.ndarray, float, float]] | None
  115. ) -> None: ...
  116. def draw(self, renderer: RendererBase) -> None: ...
  117. def set_alpha(self, alpha: float | None) -> None: ...
  118. def set_visible(self, b: bool) -> None: ...
  119. def set_animated(self, b: bool) -> None: ...
  120. def set_in_layout(self, in_layout: bool) -> None: ...
  121. def get_label(self) -> object: ...
  122. def set_label(self, s: object) -> None: ...
  123. def get_zorder(self) -> float: ...
  124. def set_zorder(self, level: float) -> None: ...
  125. @property
  126. def sticky_edges(self) -> _XYPair: ...
  127. def update_from(self, other: Artist) -> None: ...
  128. def properties(self) -> dict[str, Any]: ...
  129. def update(self, props: dict[str, Any]) -> list[Any]: ...
  130. def _internal_update(self, kwargs: Any) -> list[Any]: ...
  131. def set(self, **kwargs: Any) -> list[Any]: ...
  132. @overload
  133. def findobj(
  134. self,
  135. match: None | Callable[[Artist], bool] = ...,
  136. include_self: bool = ...,
  137. ) -> list[Artist]: ...
  138. @overload
  139. def findobj(
  140. self,
  141. match: type[_T_Artist],
  142. include_self: bool = ...,
  143. ) -> list[_T_Artist]: ...
  144. def get_cursor_data(self, event: MouseEvent) -> Any: ...
  145. def format_cursor_data(self, data: Any) -> str: ...
  146. def get_mouseover(self) -> bool: ...
  147. def set_mouseover(self, mouseover: bool) -> None: ...
  148. @property
  149. def mouseover(self) -> bool: ...
  150. @mouseover.setter
  151. def mouseover(self, mouseover: bool) -> None: ...
  152. class ArtistInspector:
  153. oorig: Artist | type[Artist]
  154. o: type[Artist]
  155. aliasd: dict[str, set[str]]
  156. def __init__(
  157. self, o: Artist | type[Artist] | Iterable[Artist | type[Artist]]
  158. ) -> None: ...
  159. def get_aliases(self) -> dict[str, set[str]]: ...
  160. def get_valid_values(self, attr: str) -> str | None: ...
  161. def get_setters(self) -> list[str]: ...
  162. @staticmethod
  163. def number_of_parameters(func: Callable) -> int: ...
  164. @staticmethod
  165. def is_alias(method: Callable) -> bool: ...
  166. def aliased_name(self, s: str) -> str: ...
  167. def aliased_name_rest(self, s: str, target: str) -> str: ...
  168. @overload
  169. def pprint_setters(
  170. self, prop: None = ..., leadingspace: int = ...
  171. ) -> list[str]: ...
  172. @overload
  173. def pprint_setters(self, prop: str, leadingspace: int = ...) -> str: ...
  174. @overload
  175. def pprint_setters_rest(
  176. self, prop: None = ..., leadingspace: int = ...
  177. ) -> list[str]: ...
  178. @overload
  179. def pprint_setters_rest(self, prop: str, leadingspace: int = ...) -> str: ...
  180. def properties(self) -> dict[str, Any]: ...
  181. def pprint_getters(self) -> list[str]: ...
  182. def getp(obj: Artist, property: str | None = ...) -> Any: ...
  183. get = getp
  184. def setp(obj: Artist, *args, file: TextIO | None = ..., **kwargs) -> list[Any] | None: ...
  185. def kwdoc(artist: Artist | type[Artist] | Iterable[Artist | type[Artist]]) -> str: ...