8
8
import pandas as pd
9
9
10
10
11
- class _Transform (Protocol ):
11
+ class _MatplotlibTransform (Protocol ):
12
12
def transform (self , verts ):
13
13
...
14
14
15
- def __sub__ (self , other ) -> "_Transform " :
15
+ def __sub__ (self , other ) -> "_MatplotlibTransform " :
16
16
...
17
17
18
18
@@ -35,8 +35,9 @@ class DataContainer(Protocol):
35
35
def query (
36
36
self ,
37
37
# TODO 3D?!!
38
- transform : _Transform ,
38
+ coord_transform : _MatplotlibTransform ,
39
39
size : Tuple [int , int ],
40
+ / ,
40
41
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
41
42
"""
42
43
Query the data container for data.
@@ -46,7 +47,7 @@ def query(
46
47
47
48
Parameters
48
49
----------
49
- transform : matplotlib.transform.Transform
50
+ coord_transform : matplotlib.transform.Transform
50
51
Must go from axes fraction space -> data space
51
52
52
53
size : 2 integers
@@ -88,7 +89,7 @@ def __init__(self, **data):
88
89
89
90
def query (
90
91
self ,
91
- transform : _Transform ,
92
+ coord_transform : _MatplotlibTransform ,
92
93
size : Tuple [int , int ],
93
94
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
94
95
return dict (self ._data ), self ._cache_key
@@ -113,7 +114,7 @@ def __init__(self, **shapes):
113
114
114
115
def query (
115
116
self ,
116
- transform : _Transform ,
117
+ coord_transform : _MatplotlibTransform ,
117
118
size : Tuple [int , int ],
118
119
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
119
120
return {k : np .random .randn (* d .shape ) for k , d in self ._desc .items ()}, str (uuid .uuid4 ())
@@ -166,26 +167,26 @@ def _split(input_dict):
166
167
167
168
def query (
168
169
self ,
169
- transform : _Transform ,
170
+ coord_transform : _MatplotlibTransform ,
170
171
size : Tuple [int , int ],
171
172
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
172
173
# TODO find a better way to compute the hash key, this is not sentative to
173
174
# scale changes, only limit changes
174
- data_bounds = tuple (transform .transform ([[0 , 0 ], [1 , 1 ]]).flatten ())
175
+ data_bounds = tuple (coord_transform .transform ([[0 , 0 ], [1 , 1 ]]).flatten ())
175
176
hash_key = hash ((data_bounds , size ))
176
177
if hash_key in self ._cache :
177
178
return self ._cache [hash_key ], hash_key
178
179
179
180
xpix , ypix = size
180
- x_data , _ = transform .transform (
181
+ x_data , _ = coord_transform .transform (
181
182
np .vstack (
182
183
[
183
184
np .linspace (0 , 1 , int (xpix ) * 2 ),
184
185
np .zeros (int (xpix ) * 2 ),
185
186
]
186
187
).T
187
188
).T
188
- _ , y_data = transform .transform (
189
+ _ , y_data = coord_transform .transform (
189
190
np .vstack (
190
191
[
191
192
np .zeros (int (ypix ) * 2 ),
@@ -218,11 +219,11 @@ def __init__(self, raw_data, num_bins: int):
218
219
219
220
def query (
220
221
self ,
221
- transform : _Transform ,
222
+ coord_transform : _MatplotlibTransform ,
222
223
size : Tuple [int , int ],
223
224
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
224
225
dmin , dmax = self ._full_range
225
- xmin , ymin , xmax , ymax = transform .transform ([[0 , 0 ], [1 , 1 ]]).flatten ()
226
+ xmin , ymin , xmax , ymax = coord_transform .transform ([[0 , 0 ], [1 , 1 ]]).flatten ()
226
227
227
228
xmin , xmax = np .clip ([xmin , xmax ], dmin , dmax )
228
229
hash_key = hash ((xmin , xmax ))
@@ -266,7 +267,7 @@ def __init__(self, series: pd.Series, *, index_name: str, col_name: str):
266
267
267
268
def query (
268
269
self ,
269
- transform : _Transform ,
270
+ coord_transform : _MatplotlibTransform ,
270
271
size : Tuple [int , int ],
271
272
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
272
273
return {self ._index_name : self ._data .index .values , self ._col_name : self ._data .values }, self ._hash_key
@@ -305,7 +306,7 @@ def __init__(
305
306
306
307
def query (
307
308
self ,
308
- transform : _Transform ,
309
+ coord_transform : _MatplotlibTransform ,
309
310
size : Tuple [int , int ],
310
311
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
311
312
ret = {}
@@ -328,10 +329,10 @@ def __init__(self, data: DataContainer, mapping: Dict[str, str]):
328
329
329
330
def query (
330
331
self ,
331
- transform : _Transform ,
332
+ coord_transform : _MatplotlibTransform ,
332
333
size : Tuple [int , int ],
333
334
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
334
- base , cache_key = self ._data .query (transform , size )
335
+ base , cache_key = self ._data .query (coord_transform , size )
335
336
return {v : base [k ] for k , v in self ._mapping .items ()}, cache_key
336
337
337
338
def describe (self ):
@@ -346,13 +347,13 @@ def __init__(self, *data: DataContainer):
346
347
347
348
def query (
348
349
self ,
349
- transform : _Transform ,
350
+ coord_transform : _MatplotlibTransform ,
350
351
size : Tuple [int , int ],
351
352
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
352
353
cache_keys = []
353
354
ret = {}
354
355
for data in self ._datas :
355
- base , cache_key = data .query (transform , size )
356
+ base , cache_key = data .query (coord_transform , size )
356
357
ret .update (base )
357
358
cache_keys .append (cache_key )
358
359
return ret , hash (tuple (cache_keys ))
@@ -364,7 +365,7 @@ def describe(self):
364
365
class WebServiceContainer :
365
366
def query (
366
367
self ,
367
- transform : _Transform ,
368
+ coord_transform : _MatplotlibTransform ,
368
369
size : Tuple [int , int ],
369
370
) -> Tuple [Dict [str , Any ], Union [str , int ]]:
370
371
def hit_some_database ():
0 commit comments