patches.pyi 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751
  1. from . import artist
  2. from .axes import Axes
  3. from .backend_bases import RendererBase, MouseEvent
  4. from .path import Path
  5. from .transforms import Transform, Bbox
  6. from typing import Any, Literal, overload
  7. import numpy as np
  8. from numpy.typing import ArrayLike
  9. from .typing import ColorType, LineStyleType, CapStyleType, JoinStyleType
  10. class Patch(artist.Artist):
  11. zorder: float
  12. def __init__(
  13. self,
  14. *,
  15. edgecolor: ColorType | None = ...,
  16. facecolor: ColorType | None = ...,
  17. color: ColorType | None = ...,
  18. linewidth: float | None = ...,
  19. linestyle: LineStyleType | None = ...,
  20. antialiased: bool | None = ...,
  21. hatch: str | None = ...,
  22. fill: bool = ...,
  23. capstyle: CapStyleType | None = ...,
  24. joinstyle: JoinStyleType | None = ...,
  25. **kwargs,
  26. ) -> None: ...
  27. def get_verts(self) -> ArrayLike: ...
  28. def contains(self, mouseevent: MouseEvent, radius: float | None = None) -> tuple[bool, dict[Any, Any]]: ...
  29. def contains_point(
  30. self, point: tuple[float, float], radius: float | None = ...
  31. ) -> bool: ...
  32. def contains_points(
  33. self, points: ArrayLike, radius: float | None = ...
  34. ) -> np.ndarray: ...
  35. def get_extents(self) -> Bbox: ...
  36. def get_transform(self) -> Transform: ...
  37. def get_data_transform(self) -> Transform: ...
  38. def get_patch_transform(self) -> Transform: ...
  39. def get_antialiased(self) -> bool: ...
  40. def get_edgecolor(self) -> ColorType: ...
  41. def get_facecolor(self) -> ColorType: ...
  42. def get_linewidth(self) -> float: ...
  43. def get_linestyle(self) -> LineStyleType: ...
  44. def set_antialiased(self, aa: bool | None) -> None: ...
  45. def set_edgecolor(self, color: ColorType | None) -> None: ...
  46. def set_facecolor(self, color: ColorType | None) -> None: ...
  47. def set_color(self, c: ColorType | None) -> None: ...
  48. def set_alpha(self, alpha: float | None) -> None: ...
  49. def set_linewidth(self, w: float | None) -> None: ...
  50. def set_linestyle(self, ls: LineStyleType | None) -> None: ...
  51. def set_fill(self, b: bool) -> None: ...
  52. def get_fill(self) -> bool: ...
  53. fill = property(get_fill, set_fill)
  54. def set_capstyle(self, s: CapStyleType) -> None: ...
  55. def get_capstyle(self) -> Literal["butt", "projecting", "round"]: ...
  56. def set_joinstyle(self, s: JoinStyleType) -> None: ...
  57. def get_joinstyle(self) -> Literal["miter", "round", "bevel"]: ...
  58. def set_hatch(self, hatch: str) -> None: ...
  59. def get_hatch(self) -> str: ...
  60. def get_path(self) -> Path: ...
  61. class Shadow(Patch):
  62. patch: Patch
  63. def __init__(self, patch: Patch, ox: float, oy: float, *, shade: float = ..., **kwargs) -> None: ...
  64. class Rectangle(Patch):
  65. angle: float
  66. def __init__(
  67. self,
  68. xy: tuple[float, float],
  69. width: float,
  70. height: float,
  71. *,
  72. angle: float = ...,
  73. rotation_point: Literal["xy", "center"] | tuple[float, float] = ...,
  74. **kwargs,
  75. ) -> None: ...
  76. @property
  77. def rotation_point(self) -> Literal["xy", "center"] | tuple[float, float]: ...
  78. @rotation_point.setter
  79. def rotation_point(
  80. self, value: Literal["xy", "center"] | tuple[float, float]
  81. ) -> None: ...
  82. def get_x(self) -> float: ...
  83. def get_y(self) -> float: ...
  84. def get_xy(self) -> tuple[float, float]: ...
  85. def get_corners(self) -> np.ndarray: ...
  86. def get_center(self) -> np.ndarray: ...
  87. def get_width(self) -> float: ...
  88. def get_height(self) -> float: ...
  89. def get_angle(self) -> float: ...
  90. def set_x(self, x: float) -> None: ...
  91. def set_y(self, y: float) -> None: ...
  92. def set_angle(self, angle: float) -> None: ...
  93. def set_xy(self, xy: tuple[float, float]) -> None: ...
  94. def set_width(self, w: float) -> None: ...
  95. def set_height(self, h: float) -> None: ...
  96. @overload
  97. def set_bounds(self, args: tuple[float, float, float, float], /) -> None: ...
  98. @overload
  99. def set_bounds(
  100. self, left: float, bottom: float, width: float, height: float, /
  101. ) -> None: ...
  102. def get_bbox(self) -> Bbox: ...
  103. xy = property(get_xy, set_xy)
  104. class RegularPolygon(Patch):
  105. xy: tuple[float, float]
  106. numvertices: int
  107. orientation: float
  108. radius: float
  109. def __init__(
  110. self,
  111. xy: tuple[float, float],
  112. numVertices: int,
  113. *,
  114. radius: float = ...,
  115. orientation: float = ...,
  116. **kwargs,
  117. ) -> None: ...
  118. class PathPatch(Patch):
  119. def __init__(self, path: Path, **kwargs) -> None: ...
  120. def set_path(self, path: Path) -> None: ...
  121. class StepPatch(PathPatch):
  122. orientation: Literal["vertical", "horizontal"]
  123. def __init__(
  124. self,
  125. values: ArrayLike,
  126. edges: ArrayLike,
  127. *,
  128. orientation: Literal["vertical", "horizontal"] = ...,
  129. baseline: float = ...,
  130. **kwargs,
  131. ) -> None: ...
  132. # NamedTuple StairData, defined in body of method
  133. def get_data(self) -> tuple[np.ndarray, np.ndarray, float]: ...
  134. def set_data(
  135. self,
  136. values: ArrayLike | None = ...,
  137. edges: ArrayLike | None = ...,
  138. baseline: float | None = ...,
  139. ) -> None: ...
  140. class Polygon(Patch):
  141. def __init__(self, xy: ArrayLike, *, closed: bool = ..., **kwargs) -> None: ...
  142. def get_closed(self) -> bool: ...
  143. def set_closed(self, closed: bool) -> None: ...
  144. def get_xy(self) -> np.ndarray: ...
  145. def set_xy(self, xy: ArrayLike) -> None: ...
  146. xy = property(get_xy, set_xy)
  147. class Wedge(Patch):
  148. center: tuple[float, float]
  149. r: float
  150. theta1: float
  151. theta2: float
  152. width: float | None
  153. def __init__(
  154. self,
  155. center: tuple[float, float],
  156. r: float,
  157. theta1: float,
  158. theta2: float,
  159. *,
  160. width: float | None = ...,
  161. **kwargs,
  162. ) -> None: ...
  163. def set_center(self, center: tuple[float, float]) -> None: ...
  164. def set_radius(self, radius: float) -> None: ...
  165. def set_theta1(self, theta1: float) -> None: ...
  166. def set_theta2(self, theta2: float) -> None: ...
  167. def set_width(self, width: float | None) -> None: ...
  168. class Arrow(Patch):
  169. def __init__(
  170. self, x: float, y: float, dx: float, dy: float, *, width: float = ..., **kwargs
  171. ) -> None: ...
  172. class FancyArrow(Polygon):
  173. def __init__(
  174. self,
  175. x: float,
  176. y: float,
  177. dx: float,
  178. dy: float,
  179. *,
  180. width: float = ...,
  181. length_includes_head: bool = ...,
  182. head_width: float | None = ...,
  183. head_length: float | None = ...,
  184. shape: Literal["full", "left", "right"] = ...,
  185. overhang: float = ...,
  186. head_starts_at_zero: bool = ...,
  187. **kwargs,
  188. ) -> None: ...
  189. def set_data(
  190. self,
  191. *,
  192. x: float | None = ...,
  193. y: float | None = ...,
  194. dx: float | None = ...,
  195. dy: float | None = ...,
  196. width: float | None = ...,
  197. head_width: float | None = ...,
  198. head_length: float | None = ...,
  199. ) -> None: ...
  200. class CirclePolygon(RegularPolygon):
  201. def __init__(
  202. self,
  203. xy: tuple[float, float],
  204. radius: float = ...,
  205. *,
  206. resolution: int = ...,
  207. **kwargs,
  208. ) -> None: ...
  209. class Ellipse(Patch):
  210. def __init__(
  211. self,
  212. xy: tuple[float, float],
  213. width: float,
  214. height: float,
  215. *,
  216. angle: float = ...,
  217. **kwargs,
  218. ) -> None: ...
  219. def set_center(self, xy: tuple[float, float]) -> None: ...
  220. def get_center(self) -> float: ...
  221. center = property(get_center, set_center)
  222. def set_width(self, width: float) -> None: ...
  223. def get_width(self) -> float: ...
  224. width = property(get_width, set_width)
  225. def set_height(self, height: float) -> None: ...
  226. def get_height(self) -> float: ...
  227. height = property(get_height, set_height)
  228. def set_angle(self, angle: float) -> None: ...
  229. def get_angle(self) -> float: ...
  230. angle = property(get_angle, set_angle)
  231. def get_corners(self) -> np.ndarray: ...
  232. def get_vertices(self) -> list[tuple[float, float]]: ...
  233. def get_co_vertices(self) -> list[tuple[float, float]]: ...
  234. class Annulus(Patch):
  235. a: float
  236. b: float
  237. def __init__(
  238. self,
  239. xy: tuple[float, float],
  240. r: float | tuple[float, float],
  241. width: float,
  242. angle: float = ...,
  243. **kwargs,
  244. ) -> None: ...
  245. def set_center(self, xy: tuple[float, float]) -> None: ...
  246. def get_center(self) -> tuple[float, float]: ...
  247. center = property(get_center, set_center)
  248. def set_width(self, width: float) -> None: ...
  249. def get_width(self) -> float: ...
  250. width = property(get_width, set_width)
  251. def set_angle(self, angle: float) -> None: ...
  252. def get_angle(self) -> float: ...
  253. angle = property(get_angle, set_angle)
  254. def set_semimajor(self, a: float) -> None: ...
  255. def set_semiminor(self, b: float) -> None: ...
  256. def set_radii(self, r: float | tuple[float, float]) -> None: ...
  257. def get_radii(self) -> tuple[float, float]: ...
  258. radii = property(get_radii, set_radii)
  259. class Circle(Ellipse):
  260. def __init__(
  261. self, xy: tuple[float, float], radius: float = ..., **kwargs
  262. ) -> None: ...
  263. def set_radius(self, radius: float) -> None: ...
  264. def get_radius(self) -> float: ...
  265. radius = property(get_radius, set_radius)
  266. class Arc(Ellipse):
  267. theta1: float
  268. theta2: float
  269. def __init__(
  270. self,
  271. xy: tuple[float, float],
  272. width: float,
  273. height: float,
  274. *,
  275. angle: float = ...,
  276. theta1: float = ...,
  277. theta2: float = ...,
  278. **kwargs,
  279. ) -> None: ...
  280. def bbox_artist(
  281. artist: artist.Artist,
  282. renderer: RendererBase,
  283. props: dict[str, Any] | None = ...,
  284. fill: bool = ...,
  285. ) -> None: ...
  286. def draw_bbox(
  287. bbox: Bbox,
  288. renderer: RendererBase,
  289. color: ColorType = ...,
  290. trans: Transform | None = ...,
  291. ) -> None: ...
  292. class _Style:
  293. def __new__(cls, stylename, **kwargs): ...
  294. @classmethod
  295. def get_styles(cls) -> dict[str, type]: ...
  296. @classmethod
  297. def pprint_styles(cls) -> str: ...
  298. @classmethod
  299. def register(cls, name: str, style: type) -> None: ...
  300. class BoxStyle(_Style):
  301. class Square(BoxStyle):
  302. pad: float
  303. def __init__(self, pad: float = ...) -> None: ...
  304. def __call__(
  305. self,
  306. x0: float,
  307. y0: float,
  308. width: float,
  309. height: float,
  310. mutation_size: float,
  311. ) -> Path: ...
  312. class Circle(BoxStyle):
  313. pad: float
  314. def __init__(self, pad: float = ...) -> None: ...
  315. def __call__(
  316. self,
  317. x0: float,
  318. y0: float,
  319. width: float,
  320. height: float,
  321. mutation_size: float,
  322. ) -> Path: ...
  323. class Ellipse(BoxStyle):
  324. pad: float
  325. def __init__(self, pad: float = ...) -> None: ...
  326. def __call__(
  327. self,
  328. x0: float,
  329. y0: float,
  330. width: float,
  331. height: float,
  332. mutation_size: float,
  333. ) -> Path: ...
  334. class LArrow(BoxStyle):
  335. pad: float
  336. def __init__(self, pad: float = ...) -> None: ...
  337. def __call__(
  338. self,
  339. x0: float,
  340. y0: float,
  341. width: float,
  342. height: float,
  343. mutation_size: float,
  344. ) -> Path: ...
  345. class RArrow(LArrow):
  346. def __call__(
  347. self,
  348. x0: float,
  349. y0: float,
  350. width: float,
  351. height: float,
  352. mutation_size: float,
  353. ) -> Path: ...
  354. class DArrow(BoxStyle):
  355. pad: float
  356. def __init__(self, pad: float = ...) -> None: ...
  357. def __call__(
  358. self,
  359. x0: float,
  360. y0: float,
  361. width: float,
  362. height: float,
  363. mutation_size: float,
  364. ) -> Path: ...
  365. class Round(BoxStyle):
  366. pad: float
  367. rounding_size: float | None
  368. def __init__(
  369. self, pad: float = ..., rounding_size: float | None = ...
  370. ) -> None: ...
  371. def __call__(
  372. self,
  373. x0: float,
  374. y0: float,
  375. width: float,
  376. height: float,
  377. mutation_size: float,
  378. ) -> Path: ...
  379. class Round4(BoxStyle):
  380. pad: float
  381. rounding_size: float | None
  382. def __init__(
  383. self, pad: float = ..., rounding_size: float | None = ...
  384. ) -> None: ...
  385. def __call__(
  386. self,
  387. x0: float,
  388. y0: float,
  389. width: float,
  390. height: float,
  391. mutation_size: float,
  392. ) -> Path: ...
  393. class Sawtooth(BoxStyle):
  394. pad: float
  395. tooth_size: float | None
  396. def __init__(
  397. self, pad: float = ..., tooth_size: float | None = ...
  398. ) -> None: ...
  399. def __call__(
  400. self,
  401. x0: float,
  402. y0: float,
  403. width: float,
  404. height: float,
  405. mutation_size: float,
  406. ) -> Path: ...
  407. class Roundtooth(Sawtooth):
  408. def __call__(
  409. self,
  410. x0: float,
  411. y0: float,
  412. width: float,
  413. height: float,
  414. mutation_size: float,
  415. ) -> Path: ...
  416. class ConnectionStyle(_Style):
  417. class _Base(ConnectionStyle):
  418. class SimpleEvent:
  419. def __init__(self, xy: tuple[float, float]) -> None: ...
  420. def __call__(
  421. self,
  422. posA: tuple[float, float],
  423. posB: tuple[float, float],
  424. shrinkA: float = ...,
  425. shrinkB: float = ...,
  426. patchA: Patch | None = ...,
  427. patchB: Patch | None = ...,
  428. ) -> Path: ...
  429. class Arc3(_Base):
  430. rad: float
  431. def __init__(self, rad: float = ...) -> None: ...
  432. def connect(
  433. self, posA: tuple[float, float], posB: tuple[float, float]
  434. ) -> Path: ...
  435. class Angle3(_Base):
  436. angleA: float
  437. angleB: float
  438. def __init__(self, angleA: float = ..., angleB: float = ...) -> None: ...
  439. def connect(
  440. self, posA: tuple[float, float], posB: tuple[float, float]
  441. ) -> Path: ...
  442. class Angle(_Base):
  443. angleA: float
  444. angleB: float
  445. rad: float
  446. def __init__(
  447. self, angleA: float = ..., angleB: float = ..., rad: float = ...
  448. ) -> None: ...
  449. def connect(
  450. self, posA: tuple[float, float], posB: tuple[float, float]
  451. ) -> Path: ...
  452. class Arc(_Base):
  453. angleA: float
  454. angleB: float
  455. armA: float | None
  456. armB: float | None
  457. rad: float
  458. def __init__(
  459. self,
  460. angleA: float = ...,
  461. angleB: float = ...,
  462. armA: float | None = ...,
  463. armB: float | None = ...,
  464. rad: float = ...,
  465. ) -> None: ...
  466. def connect(
  467. self, posA: tuple[float, float], posB: tuple[float, float]
  468. ) -> Path: ...
  469. class Bar(_Base):
  470. armA: float
  471. armB: float
  472. fraction: float
  473. angle: float | None
  474. def __init__(
  475. self,
  476. armA: float = ...,
  477. armB: float = ...,
  478. fraction: float = ...,
  479. angle: float | None = ...,
  480. ) -> None: ...
  481. def connect(
  482. self, posA: tuple[float, float], posB: tuple[float, float]
  483. ) -> Path: ...
  484. class ArrowStyle(_Style):
  485. class _Base(ArrowStyle):
  486. @staticmethod
  487. def ensure_quadratic_bezier(path: Path) -> list[float]: ...
  488. def transmute(
  489. self, path: Path, mutation_size: float, linewidth: float
  490. ) -> tuple[Path, bool]: ...
  491. def __call__(
  492. self,
  493. path: Path,
  494. mutation_size: float,
  495. linewidth: float,
  496. aspect_ratio: float = ...,
  497. ) -> tuple[Path, bool]: ...
  498. class _Curve(_Base):
  499. arrow: str
  500. fillbegin: bool
  501. fillend: bool
  502. def __init__(
  503. self,
  504. head_length: float = ...,
  505. head_width: float = ...,
  506. widthA: float = ...,
  507. widthB: float = ...,
  508. lengthA: float = ...,
  509. lengthB: float = ...,
  510. angleA: float | None = ...,
  511. angleB: float | None = ...,
  512. scaleA: float | None = ...,
  513. scaleB: float | None = ...,
  514. ) -> None: ...
  515. class Curve(_Curve):
  516. def __init__(self) -> None: ...
  517. class CurveA(_Curve):
  518. arrow: str
  519. class CurveB(_Curve):
  520. arrow: str
  521. class CurveAB(_Curve):
  522. arrow: str
  523. class CurveFilledA(_Curve):
  524. arrow: str
  525. class CurveFilledB(_Curve):
  526. arrow: str
  527. class CurveFilledAB(_Curve):
  528. arrow: str
  529. class BracketA(_Curve):
  530. arrow: str
  531. def __init__(
  532. self, widthA: float = ..., lengthA: float = ..., angleA: float = ...
  533. ) -> None: ...
  534. class BracketB(_Curve):
  535. arrow: str
  536. def __init__(
  537. self, widthB: float = ..., lengthB: float = ..., angleB: float = ...
  538. ) -> None: ...
  539. class BracketAB(_Curve):
  540. arrow: str
  541. def __init__(
  542. self,
  543. widthA: float = ...,
  544. lengthA: float = ...,
  545. angleA: float = ...,
  546. widthB: float = ...,
  547. lengthB: float = ...,
  548. angleB: float = ...,
  549. ) -> None: ...
  550. class BarAB(_Curve):
  551. arrow: str
  552. def __init__(
  553. self,
  554. widthA: float = ...,
  555. angleA: float = ...,
  556. widthB: float = ...,
  557. angleB: float = ...,
  558. ) -> None: ...
  559. class BracketCurve(_Curve):
  560. arrow: str
  561. def __init__(
  562. self, widthA: float = ..., lengthA: float = ..., angleA: float | None = ...
  563. ) -> None: ...
  564. class CurveBracket(_Curve):
  565. arrow: str
  566. def __init__(
  567. self, widthB: float = ..., lengthB: float = ..., angleB: float | None = ...
  568. ) -> None: ...
  569. class Simple(_Base):
  570. def __init__(
  571. self,
  572. head_length: float = ...,
  573. head_width: float = ...,
  574. tail_width: float = ...,
  575. ) -> None: ...
  576. class Fancy(_Base):
  577. def __init__(
  578. self,
  579. head_length: float = ...,
  580. head_width: float = ...,
  581. tail_width: float = ...,
  582. ) -> None: ...
  583. class Wedge(_Base):
  584. tail_width: float
  585. shrink_factor: float
  586. def __init__(
  587. self, tail_width: float = ..., shrink_factor: float = ...
  588. ) -> None: ...
  589. class FancyBboxPatch(Patch):
  590. def __init__(
  591. self,
  592. xy: tuple[float, float],
  593. width: float,
  594. height: float,
  595. boxstyle: str | BoxStyle = ...,
  596. *,
  597. mutation_scale: float = ...,
  598. mutation_aspect: float = ...,
  599. **kwargs,
  600. ) -> None: ...
  601. def set_boxstyle(self, boxstyle: str | BoxStyle | None = ..., **kwargs) -> None: ...
  602. def get_boxstyle(self) -> BoxStyle: ...
  603. def set_mutation_scale(self, scale: float) -> None: ...
  604. def get_mutation_scale(self) -> float: ...
  605. def set_mutation_aspect(self, aspect: float) -> None: ...
  606. def get_mutation_aspect(self) -> float: ...
  607. def get_x(self) -> float: ...
  608. def get_y(self) -> float: ...
  609. def get_width(self) -> float: ...
  610. def get_height(self) -> float: ...
  611. def set_x(self, x: float) -> None: ...
  612. def set_y(self, y: float) -> None: ...
  613. def set_width(self, w: float) -> None: ...
  614. def set_height(self, h: float) -> None: ...
  615. @overload
  616. def set_bounds(self, args: tuple[float, float, float, float], /) -> None: ...
  617. @overload
  618. def set_bounds(
  619. self, left: float, bottom: float, width: float, height: float, /
  620. ) -> None: ...
  621. def get_bbox(self) -> Bbox: ...
  622. class FancyArrowPatch(Patch):
  623. patchA: Patch
  624. patchB: Patch
  625. shrinkA: float
  626. shrinkB: float
  627. def __init__(
  628. self,
  629. posA: tuple[float, float] | None = ...,
  630. posB: tuple[float, float] | None = ...,
  631. *,
  632. path: Path | None = ...,
  633. arrowstyle: str | ArrowStyle = ...,
  634. connectionstyle: str | ConnectionStyle = ...,
  635. patchA: Patch | None = ...,
  636. patchB: Patch | None = ...,
  637. shrinkA: float = ...,
  638. shrinkB: float = ...,
  639. mutation_scale: float = ...,
  640. mutation_aspect: float | None = ...,
  641. **kwargs,
  642. ) -> None: ...
  643. def set_positions(
  644. self, posA: tuple[float, float], posB: tuple[float, float]
  645. ) -> None: ...
  646. def set_patchA(self, patchA: Patch) -> None: ...
  647. def set_patchB(self, patchB: Patch) -> None: ...
  648. def set_connectionstyle(self, connectionstyle: str | ConnectionStyle | None = ..., **kwargs) -> None: ...
  649. def get_connectionstyle(self) -> ConnectionStyle: ...
  650. def set_arrowstyle(self, arrowstyle: str | ArrowStyle | None = ..., **kwargs) -> None: ...
  651. def get_arrowstyle(self) -> ArrowStyle: ...
  652. def set_mutation_scale(self, scale: float) -> None: ...
  653. def get_mutation_scale(self) -> float: ...
  654. def set_mutation_aspect(self, aspect: float | None) -> None: ...
  655. def get_mutation_aspect(self) -> float: ...
  656. class ConnectionPatch(FancyArrowPatch):
  657. xy1: tuple[float, float]
  658. xy2: tuple[float, float]
  659. coords1: str | Transform
  660. coords2: str | Transform | None
  661. axesA: Axes | None
  662. axesB: Axes | None
  663. def __init__(
  664. self,
  665. xyA: tuple[float, float],
  666. xyB: tuple[float, float],
  667. coordsA: str | Transform,
  668. coordsB: str | Transform | None = ...,
  669. *,
  670. axesA: Axes | None = ...,
  671. axesB: Axes | None = ...,
  672. arrowstyle: str | ArrowStyle = ...,
  673. connectionstyle: str | ConnectionStyle = ...,
  674. patchA: Patch | None = ...,
  675. patchB: Patch | None = ...,
  676. shrinkA: float = ...,
  677. shrinkB: float = ...,
  678. mutation_scale: float = ...,
  679. mutation_aspect: float | None = ...,
  680. clip_on: bool = ...,
  681. **kwargs,
  682. ) -> None: ...
  683. def set_annotation_clip(self, b: bool | None) -> None: ...
  684. def get_annotation_clip(self) -> bool | None: ...