ticker.pyi 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. from collections.abc import Callable, Sequence
  2. from typing import Any, Literal
  3. from matplotlib.axis import Axis
  4. from matplotlib.transforms import Transform
  5. from matplotlib.projections.polar import _AxisWrapper
  6. import numpy as np
  7. class _DummyAxis:
  8. __name__: str
  9. def __init__(self, minpos: float = ...) -> None: ...
  10. def get_view_interval(self) -> tuple[float, float]: ...
  11. def set_view_interval(self, vmin: float, vmax: float) -> None: ...
  12. def get_minpos(self) -> float: ...
  13. def get_data_interval(self) -> tuple[float, float]: ...
  14. def set_data_interval(self, vmin: float, vmax: float) -> None: ...
  15. def get_tick_space(self) -> int: ...
  16. class TickHelper:
  17. axis: None | Axis | _DummyAxis | _AxisWrapper
  18. def set_axis(self, axis: Axis | _DummyAxis | _AxisWrapper | None) -> None: ...
  19. def create_dummy_axis(self, **kwargs) -> None: ...
  20. class Formatter(TickHelper):
  21. locs: list[float]
  22. def __call__(self, x: float, pos: int | None = ...) -> str: ...
  23. def format_ticks(self, values: list[float]) -> list[str]: ...
  24. def format_data(self, value: float) -> str: ...
  25. def format_data_short(self, value: float) -> str: ...
  26. def get_offset(self) -> str: ...
  27. def set_locs(self, locs: list[float]) -> None: ...
  28. @staticmethod
  29. def fix_minus(s: str) -> str: ...
  30. class NullFormatter(Formatter): ...
  31. class FixedFormatter(Formatter):
  32. seq: Sequence[str]
  33. offset_string: str
  34. def __init__(self, seq: Sequence[str]) -> None: ...
  35. def set_offset_string(self, ofs: str) -> None: ...
  36. class FuncFormatter(Formatter):
  37. func: Callable[[float, int | None], str]
  38. offset_string: str
  39. # Callable[[float, int | None], str] | Callable[[float], str]
  40. def __init__(self, func: Callable[..., str]) -> None: ...
  41. def set_offset_string(self, ofs: str) -> None: ...
  42. class FormatStrFormatter(Formatter):
  43. fmt: str
  44. def __init__(self, fmt: str) -> None: ...
  45. class StrMethodFormatter(Formatter):
  46. fmt: str
  47. def __init__(self, fmt: str) -> None: ...
  48. class ScalarFormatter(Formatter):
  49. orderOfMagnitude: int
  50. format: str
  51. def __init__(
  52. self,
  53. useOffset: bool | float | None = ...,
  54. useMathText: bool | None = ...,
  55. useLocale: bool | None = ...,
  56. *,
  57. usetex: bool | None = ...,
  58. ) -> None: ...
  59. offset: float
  60. def get_usetex(self) -> bool: ...
  61. def set_usetex(self, val: bool) -> None: ...
  62. @property
  63. def usetex(self) -> bool: ...
  64. @usetex.setter
  65. def usetex(self, val: bool) -> None: ...
  66. def get_useOffset(self) -> bool: ...
  67. def set_useOffset(self, val: bool | float) -> None: ...
  68. @property
  69. def useOffset(self) -> bool: ...
  70. @useOffset.setter
  71. def useOffset(self, val: bool | float) -> None: ...
  72. def get_useLocale(self) -> bool: ...
  73. def set_useLocale(self, val: bool | None) -> None: ...
  74. @property
  75. def useLocale(self) -> bool: ...
  76. @useLocale.setter
  77. def useLocale(self, val: bool | None) -> None: ...
  78. def get_useMathText(self) -> bool: ...
  79. def set_useMathText(self, val: bool | None) -> None: ...
  80. @property
  81. def useMathText(self) -> bool: ...
  82. @useMathText.setter
  83. def useMathText(self, val: bool | None) -> None: ...
  84. def set_scientific(self, b: bool) -> None: ...
  85. def set_powerlimits(self, lims: tuple[int, int]) -> None: ...
  86. def format_data_short(self, value: float | np.ma.MaskedArray) -> str: ...
  87. def format_data(self, value: float) -> str: ...
  88. class LogFormatter(Formatter):
  89. minor_thresholds: tuple[float, float]
  90. def __init__(
  91. self,
  92. base: float = ...,
  93. labelOnlyBase: bool = ...,
  94. minor_thresholds: tuple[float, float] | None = ...,
  95. linthresh: float | None = ...,
  96. ) -> None: ...
  97. def set_base(self, base: float) -> None: ...
  98. labelOnlyBase: bool
  99. def set_label_minor(self, labelOnlyBase: bool) -> None: ...
  100. def set_locs(self, locs: Any | None = ...) -> None: ...
  101. def format_data(self, value: float) -> str: ...
  102. def format_data_short(self, value: float) -> str: ...
  103. class LogFormatterExponent(LogFormatter): ...
  104. class LogFormatterMathtext(LogFormatter): ...
  105. class LogFormatterSciNotation(LogFormatterMathtext): ...
  106. class LogitFormatter(Formatter):
  107. def __init__(
  108. self,
  109. *,
  110. use_overline: bool = ...,
  111. one_half: str = ...,
  112. minor: bool = ...,
  113. minor_threshold: int = ...,
  114. minor_number: int = ...
  115. ) -> None: ...
  116. def use_overline(self, use_overline: bool) -> None: ...
  117. def set_one_half(self, one_half: str) -> None: ...
  118. def set_minor_threshold(self, minor_threshold: int) -> None: ...
  119. def set_minor_number(self, minor_number: int) -> None: ...
  120. def format_data_short(self, value: float) -> str: ...
  121. class EngFormatter(ScalarFormatter):
  122. ENG_PREFIXES: dict[int, str]
  123. unit: str
  124. places: int | None
  125. sep: str
  126. def __init__(
  127. self,
  128. unit: str = ...,
  129. places: int | None = ...,
  130. sep: str = ...,
  131. *,
  132. usetex: bool | None = ...,
  133. useMathText: bool | None = ...,
  134. useOffset: bool | float | None = ...,
  135. ) -> None: ...
  136. def format_eng(self, num: float) -> str: ...
  137. class PercentFormatter(Formatter):
  138. xmax: float
  139. decimals: int | None
  140. def __init__(
  141. self,
  142. xmax: float = ...,
  143. decimals: int | None = ...,
  144. symbol: str | None = ...,
  145. is_latex: bool = ...,
  146. ) -> None: ...
  147. def format_pct(self, x: float, display_range: float) -> str: ...
  148. def convert_to_pct(self, x: float) -> float: ...
  149. @property
  150. def symbol(self) -> str: ...
  151. @symbol.setter
  152. def symbol(self, symbol: str) -> None: ...
  153. class Locator(TickHelper):
  154. MAXTICKS: int
  155. def tick_values(self, vmin: float, vmax: float) -> Sequence[float]: ...
  156. # Implementation accepts **kwargs, but is a no-op other than a warning
  157. # Typing as **kwargs would require each subclass to accept **kwargs for mypy
  158. def set_params(self) -> None: ...
  159. def __call__(self) -> Sequence[float]: ...
  160. def raise_if_exceeds(self, locs: Sequence[float]) -> Sequence[float]: ...
  161. def nonsingular(self, v0: float, v1: float) -> tuple[float, float]: ...
  162. def view_limits(self, vmin: float, vmax: float) -> tuple[float, float]: ...
  163. class IndexLocator(Locator):
  164. offset: float
  165. def __init__(self, base: float, offset: float) -> None: ...
  166. def set_params(
  167. self, base: float | None = ..., offset: float | None = ...
  168. ) -> None: ...
  169. class FixedLocator(Locator):
  170. nbins: int | None
  171. def __init__(self, locs: Sequence[float], nbins: int | None = ...) -> None: ...
  172. def set_params(self, nbins: int | None = ...) -> None: ...
  173. class NullLocator(Locator): ...
  174. class LinearLocator(Locator):
  175. presets: dict[tuple[float, float], Sequence[float]]
  176. def __init__(
  177. self,
  178. numticks: int | None = ...,
  179. presets: dict[tuple[float, float], Sequence[float]] | None = ...,
  180. ) -> None: ...
  181. @property
  182. def numticks(self) -> int: ...
  183. @numticks.setter
  184. def numticks(self, numticks: int | None) -> None: ...
  185. def set_params(
  186. self,
  187. numticks: int | None = ...,
  188. presets: dict[tuple[float, float], Sequence[float]] | None = ...,
  189. ) -> None: ...
  190. class MultipleLocator(Locator):
  191. def __init__(self, base: float = ..., offset: float = ...) -> None: ...
  192. def set_params(self, base: float | None = ..., offset: float | None = ...) -> None: ...
  193. def view_limits(self, dmin: float, dmax: float) -> tuple[float, float]: ...
  194. class _Edge_integer:
  195. step: float
  196. def __init__(self, step: float, offset: float) -> None: ...
  197. def closeto(self, ms: float, edge: float) -> bool: ...
  198. def le(self, x: float) -> float: ...
  199. def ge(self, x: float) -> float: ...
  200. class MaxNLocator(Locator):
  201. default_params: dict[str, Any]
  202. def __init__(self, nbins: int | Literal["auto"] | None = ..., **kwargs) -> None: ...
  203. def set_params(self, **kwargs) -> None: ...
  204. def view_limits(self, dmin: float, dmax: float) -> tuple[float, float]: ...
  205. class LogLocator(Locator):
  206. numticks: int | None
  207. def __init__(
  208. self,
  209. base: float = ...,
  210. subs: None | Literal["auto", "all"] | Sequence[float] = ...,
  211. *,
  212. numticks: int | None = ...,
  213. ) -> None: ...
  214. def set_params(
  215. self,
  216. base: float | None = ...,
  217. subs: Literal["auto", "all"] | Sequence[float] | None = ...,
  218. *,
  219. numticks: int | None = ...,
  220. ) -> None: ...
  221. class SymmetricalLogLocator(Locator):
  222. numticks: int
  223. def __init__(
  224. self,
  225. transform: Transform | None = ...,
  226. subs: Sequence[float] | None = ...,
  227. linthresh: float | None = ...,
  228. base: float | None = ...,
  229. ) -> None: ...
  230. def set_params(
  231. self, subs: Sequence[float] | None = ..., numticks: int | None = ...
  232. ) -> None: ...
  233. class AsinhLocator(Locator):
  234. linear_width: float
  235. numticks: int
  236. symthresh: float
  237. base: int
  238. subs: Sequence[float] | None
  239. def __init__(
  240. self,
  241. linear_width: float,
  242. numticks: int = ...,
  243. symthresh: float = ...,
  244. base: int = ...,
  245. subs: Sequence[float] | None = ...,
  246. ) -> None: ...
  247. def set_params(
  248. self,
  249. numticks: int | None = ...,
  250. symthresh: float | None = ...,
  251. base: int | None = ...,
  252. subs: Sequence[float] | None = ...,
  253. ) -> None: ...
  254. class LogitLocator(MaxNLocator):
  255. def __init__(
  256. self, minor: bool = ..., *, nbins: Literal["auto"] | int = ...
  257. ) -> None: ...
  258. def set_params(self, minor: bool | None = ..., **kwargs) -> None: ...
  259. @property
  260. def minor(self) -> bool: ...
  261. @minor.setter
  262. def minor(self, value: bool) -> None: ...
  263. class AutoLocator(MaxNLocator):
  264. def __init__(self) -> None: ...
  265. class AutoMinorLocator(Locator):
  266. ndivs: int
  267. def __init__(self, n: int | None = ...) -> None: ...
  268. __all__ = ('TickHelper', 'Formatter', 'FixedFormatter',
  269. 'NullFormatter', 'FuncFormatter', 'FormatStrFormatter',
  270. 'StrMethodFormatter', 'ScalarFormatter', 'LogFormatter',
  271. 'LogFormatterExponent', 'LogFormatterMathtext',
  272. 'LogFormatterSciNotation',
  273. 'LogitFormatter', 'EngFormatter', 'PercentFormatter',
  274. 'Locator', 'IndexLocator', 'FixedLocator', 'NullLocator',
  275. 'LinearLocator', 'LogLocator', 'AutoLocator',
  276. 'MultipleLocator', 'MaxNLocator', 'AutoMinorLocator',
  277. 'SymmetricalLogLocator', 'AsinhLocator', 'LogitLocator')