| 165 | __str__ = mtransforms._make_str_method("_scale_transform", "_limits") |
| 166 | |
| 167 | def get_matrix(self): |
| 168 | # docstring inherited |
| 169 | if self._invalid: |
| 170 | limits_scaled = self._limits.transformed(self._scale_transform) |
| 171 | yscale = limits_scaled.ymax - limits_scaled.ymin |
| 172 | affine = mtransforms.Affine2D() \ |
| 173 | .scale(0.5 / yscale) \ |
| 174 | .translate(0.5, 0.5) |
| 175 | self._mtx = affine.get_matrix() |
| 176 | self._inverted = None |
| 177 | self._invalid = 0 |
| 178 | return self._mtx |
| 179 | |
| 180 | |
| 181 | class InvertedPolarTransform(mtransforms.Transform): |