This is called once when the plot is created to set up all the transforms for the data, text and grids.
(self)
| 90 | return spines |
| 91 | |
| 92 | def _set_lim_and_transforms(self): |
| 93 | """ |
| 94 | This is called once when the plot is created to set up all the |
| 95 | transforms for the data, text and grids. |
| 96 | """ |
| 97 | rot = 30 |
| 98 | |
| 99 | # Get the standard transform setup from the Axes base class |
| 100 | super()._set_lim_and_transforms() |
| 101 | |
| 102 | # Need to put the skew in the middle, after the scale and limits, |
| 103 | # but before the transAxes. This way, the skew is done in Axes |
| 104 | # coordinates thus performing the transform around the proper origin |
| 105 | # We keep the pre-transAxes transform around for other users, like the |
| 106 | # spines for finding bounds |
| 107 | self.transDataToAxes = (self.transScale + |
| 108 | (self.transLimits + |
| 109 | transforms.Affine2D().skew_deg(rot, 0))) |
| 110 | |
| 111 | # Create the full transform from Data to Pixels |
| 112 | self.transData = self.transDataToAxes + self.transAxes |
| 113 | |
| 114 | # Blended transforms like this need to have the skewing applied using |
| 115 | # both axes, in axes coords like before. |
| 116 | self._xaxis_transform = (transforms.blended_transform_factory( |
| 117 | self.transScale + self.transLimits, |
| 118 | transforms.IdentityTransform()) + |
| 119 | transforms.Affine2D().skew_deg(rot, 0)) + self.transAxes |
| 120 | |
| 121 | @property |
| 122 | def lower_xlim(self): |