@@ -30,7 +30,7 @@ class PolarTransform(mtransforms.Transform):
3030 input_dims = output_dims = 2
3131
3232 def __init__ (self , axis = None , use_rmin = True ,
33- _apply_theta_transforms = True ):
33+ _apply_theta_transforms = True , * , scale_transform = None ):
3434 """
3535 Parameters
3636 ----------
@@ -46,12 +46,17 @@ def __init__(self, axis=None, use_rmin=True,
4646 self ._axis = axis
4747 self ._use_rmin = use_rmin
4848 self ._apply_theta_transforms = _apply_theta_transforms
49+ self ._scale_transform = scale_transform
4950
5051 __str__ = mtransforms ._make_str_method (
5152 "_axis" ,
5253 use_rmin = "_use_rmin" ,
5354 _apply_theta_transforms = "_apply_theta_transforms" )
5455
56+ def _get_rorigin (self ):
57+ # Get lower r limit after being scaled by the radial scale transform
58+ return self ._scale_transform .transform ((0 , self ._axis .get_rorigin ()))[1 ]
59+
5560 def transform_non_affine (self , tr ):
5661 # docstring inherited
5762 theta , r = np .transpose (tr )
@@ -61,7 +66,7 @@ def transform_non_affine(self, tr):
6166 theta *= self ._axis .get_theta_direction ()
6267 theta += self ._axis .get_theta_offset ()
6368 if self ._use_rmin and self ._axis is not None :
64- r = (r - self ._axis . get_rorigin ()) * self ._axis .get_rsign ()
69+ r = (r - self ._get_rorigin ()) * self ._axis .get_rsign ()
6570 r = np .where (r >= 0 , r , np .nan )
6671 return np .column_stack ([r * np .cos (theta ), r * np .sin (theta )])
6772
@@ -85,7 +90,7 @@ def transform_path_non_affine(self, path):
8590 # that behavior here.
8691 last_td , td = np .rad2deg ([last_t , t ])
8792 if self ._use_rmin and self ._axis is not None :
88- r = ((r - self ._axis . get_rorigin ())
93+ r = ((r - self ._get_rorigin ())
8994 * self ._axis .get_rsign ())
9095 if last_td <= td :
9196 while td - last_td > 360 :
@@ -877,7 +882,7 @@ def _set_lim_and_transforms(self):
877882 # data. This one is aware of rmin
878883 self .transProjection = self .PolarTransform (
879884 self ,
880- _apply_theta_transforms = False )
885+ _apply_theta_transforms = False , scale_transform = self . transScale )
881886 # Add dependency on rorigin.
882887 self .transProjection .set_children (self ._originViewLim )
883888
0 commit comments