@@ -6,6 +6,7 @@ from matplotlib import cbook
6
6
from matplotlib .artist import Artist
7
7
from matplotlib .axis import XAxis , YAxis , Tick
8
8
from matplotlib .backend_bases import RendererBase , MouseButton , MouseEvent
9
+ from matplotlib .cbook import CallbackRegistry
9
10
from matplotlib .container import Container
10
11
from matplotlib .collections import Collection
11
12
from matplotlib .cm import ScalarMappable
@@ -25,9 +26,11 @@ from cycler import Cycler
25
26
26
27
import numpy as np
27
28
from numpy .typing import ArrayLike
28
- from typing import Any , Literal , overload
29
+ from typing import Any , Literal , TypeVar , overload
29
30
from matplotlib .typing import ColorType
30
31
32
+ _T = TypeVar ("_T" , bound = Artist )
33
+
31
34
class _axis_method_wrapper :
32
35
attr_name : str
33
36
method_name : str
@@ -53,6 +56,9 @@ class _AxesBase(martist.Artist):
53
56
transData : Transform
54
57
ignore_existing_data_limits : bool
55
58
axison : bool
59
+ containers : list [Container ]
60
+ callbacks : CallbackRegistry
61
+ child_axes : list [_AxesBase ]
56
62
_projection_init : Any
57
63
58
64
def __init__ (
@@ -126,7 +132,7 @@ class _AxesBase(martist.Artist):
126
132
def cla (self ) -> None : ...
127
133
128
134
# Could be made generic, but comments indicate it may be temporary anyway
129
- class ArtistList (Sequence [Artist ]):
135
+ class ArtistList (Sequence [_T ]):
130
136
def __init__ (
131
137
self ,
132
138
axes : _AxesBase ,
@@ -135,40 +141,40 @@ class _AxesBase(martist.Artist):
135
141
invalid_types : type | Iterable [type ] | None = ...,
136
142
) -> None : ...
137
143
def __len__ (self ) -> int : ...
138
- def __iter__ (self ) -> Iterator [Artist ]: ...
144
+ def __iter__ (self ) -> Iterator [_T ]: ...
139
145
@overload
140
- def __getitem__ (self , key : int ) -> Artist : ...
146
+ def __getitem__ (self , key : int ) -> _T : ...
141
147
@overload
142
- def __getitem__ (self , key : slice ) -> list [Artist ]: ...
148
+ def __getitem__ (self , key : slice ) -> list [_T ]: ...
143
149
144
150
@overload
145
- def __add__ (self , other : _AxesBase .ArtistList ) -> list [Artist ]: ...
151
+ def __add__ (self , other : _AxesBase .ArtistList [ _T ] ) -> list [_T ]: ...
146
152
@overload
147
153
def __add__ (self , other : list [Any ]) -> list [Any ]: ...
148
154
@overload
149
155
def __add__ (self , other : tuple [Any ]) -> tuple [Any ]: ...
150
156
151
157
@overload
152
- def __radd__ (self , other : _AxesBase .ArtistList ) -> list [Artist ]: ...
158
+ def __radd__ (self , other : _AxesBase .ArtistList [ _T ] ) -> list [_T ]: ...
153
159
@overload
154
160
def __radd__ (self , other : list [Any ]) -> list [Any ]: ...
155
161
@overload
156
162
def __radd__ (self , other : tuple [Any ]) -> tuple [Any ]: ...
157
163
158
164
@property
159
- def artists (self ) -> _AxesBase .ArtistList : ...
165
+ def artists (self ) -> _AxesBase .ArtistList [ Artist ] : ...
160
166
@property
161
- def collections (self ) -> _AxesBase .ArtistList : ...
167
+ def collections (self ) -> _AxesBase .ArtistList [ Collection ] : ...
162
168
@property
163
- def images (self ) -> _AxesBase .ArtistList : ...
169
+ def images (self ) -> _AxesBase .ArtistList [ AxesImage ] : ...
164
170
@property
165
- def lines (self ) -> _AxesBase .ArtistList : ...
171
+ def lines (self ) -> _AxesBase .ArtistList [ Line2D ] : ...
166
172
@property
167
- def patches (self ) -> _AxesBase .ArtistList : ...
173
+ def patches (self ) -> _AxesBase .ArtistList [ Patch ] : ...
168
174
@property
169
- def tables (self ) -> _AxesBase .ArtistList : ...
175
+ def tables (self ) -> _AxesBase .ArtistList [ Table ] : ...
170
176
@property
171
- def texts (self ) -> _AxesBase .ArtistList : ...
177
+ def texts (self ) -> _AxesBase .ArtistList [ Text ] : ...
172
178
def get_facecolor (self ) -> ColorType : ...
173
179
def set_facecolor (self , color : ColorType | None ) -> None : ...
174
180
@overload
0 commit comments