@@ -1336,58 +1336,62 @@ def _normalise_kwargs(axes, **kwargs):
1336
1336
return kwargs
1337
1337
1338
1338
def _make_pts (self , t , f1 , f2 , idx0 , idx1 , step , interpolate ):
1339
- indslice = t [idx0 :idx1 ]
1340
- dep1slice = f1 [idx0 :idx1 ]
1341
- dep2slice = f2 [idx0 :idx1 ]
1339
+ """
1340
+ Make `verts` from contiguous region between `idx0` and `idx1`, taking
1341
+ into account `step` and `interpolate`.
1342
+ """
1343
+ t_slice = t [idx0 :idx1 ]
1344
+ f1_slice = f1 [idx0 :idx1 ]
1345
+ f2_slice = f2 [idx0 :idx1 ]
1342
1346
if step is not None :
1343
1347
step_func = cbook .STEP_LOOKUP_MAP ["steps-" + step ]
1344
- indslice , dep1slice , dep2slice = \
1345
- step_func (indslice , dep1slice , dep2slice )
1348
+ t_slice , f1_slice , f2_slice = \
1349
+ step_func (t_slice , f1_slice , f2_slice )
1346
1350
1347
- size = len (indslice )
1351
+ size = len (t_slice )
1348
1352
pts = np .zeros ((2 * size + 2 , 2 ))
1349
1353
1350
1354
if interpolate :
1351
1355
start = self ._get_interp_point (t , f1 , f2 , idx0 )
1352
1356
end = self ._get_interp_point (t , f1 , f2 , idx1 )
1353
1357
else :
1354
- # Handle scalar dep2 (e.g. 0): the fill should go all
1358
+ # Handle scalar f2 (e.g. 0): the fill should go all
1355
1359
# the way down to 0 even if none of the dep1 sample points do.
1356
- start = indslice [0 ], dep2slice [0 ]
1357
- end = indslice [- 1 ], dep2slice [- 1 ]
1360
+ start = t_slice [0 ], f2_slice [0 ]
1361
+ end = t_slice [- 1 ], f2_slice [- 1 ]
1358
1362
1359
1363
pts [0 ] = start
1360
1364
pts [size + 1 ] = end
1361
1365
1362
- pts [1 :size + 1 , 0 ] = indslice
1363
- pts [1 :size + 1 , 1 ] = dep1slice
1364
- pts [size + 2 :, 0 ] = indslice [::- 1 ]
1365
- pts [size + 2 :, 1 ] = dep2slice [::- 1 ]
1366
+ pts [1 :size + 1 , 0 ] = t_slice
1367
+ pts [1 :size + 1 , 1 ] = f1_slice
1368
+ pts [size + 2 :, 0 ] = t_slice [::- 1 ]
1369
+ pts [size + 2 :, 1 ] = f2_slice [::- 1 ]
1366
1370
1367
1371
return self ._normalise_pts (pts )
1368
1372
1369
1373
@staticmethod
1370
1374
def _get_interp_point (t , f1 , f2 , idx ):
1371
1375
"""Calculate interpolating points."""
1372
1376
im1 = max (idx - 1 , 0 )
1373
- ind_values = t [im1 :idx + 1 ]
1377
+ t_values = t [im1 :idx + 1 ]
1374
1378
diff_values = f1 [im1 :idx + 1 ] - f2 [im1 :idx + 1 ]
1375
- dep1_values = f1 [im1 :idx + 1 ]
1379
+ f1_values = f1 [im1 :idx + 1 ]
1376
1380
1377
1381
if len (diff_values ) == 2 :
1378
1382
if np .ma .is_masked (diff_values [1 ]):
1379
1383
return t [im1 ], f1 [im1 ]
1380
1384
elif np .ma .is_masked (diff_values [0 ]):
1381
1385
return t [idx ], f1 [idx ]
1382
-
1383
- diff_order = diff_values .argsort ()
1384
- diff_root_ind = np .interp (
1385
- 0 , diff_values [diff_order ], ind_values [diff_order ])
1386
- ind_order = ind_values .argsort ()
1387
- diff_root_dep = np .interp (
1388
- diff_root_ind ,
1389
- ind_values [ind_order ], dep1_values [ind_order ])
1390
- return diff_root_ind , diff_root_dep
1386
+ else :
1387
+ diff_order = diff_values .argsort ()
1388
+ diff_root_ind = np .interp (
1389
+ 0 , diff_values [diff_order ], t_values [diff_order ])
1390
+ ind_order = t_values .argsort ()
1391
+ diff_root_dep = np .interp (
1392
+ diff_root_ind ,
1393
+ t_values [ind_order ], f1_values [ind_order ])
1394
+ return diff_root_ind , diff_root_dep
1391
1395
1392
1396
def _normalise_pts (self , pts ):
1393
1397
return pts [:, ::- 1 ] if self .t_direction == "y" else pts
0 commit comments