(self, XY, U, V, eps=1)
| 647 | |
| 648 | # Calculate angles and lengths for segment between (x, y), (x+u, y+v) |
| 649 | def _angles_lengths(self, XY, U, V, eps=1): |
| 650 | xy = self.axes.transData.transform(XY) |
| 651 | uv = np.column_stack((U, V)) |
| 652 | xyp = self.axes.transData.transform(XY + eps * uv) |
| 653 | dxy = xyp - xy |
| 654 | angles = np.arctan2(dxy[:, 1], dxy[:, 0]) |
| 655 | lengths = np.hypot(*dxy.T) / eps |
| 656 | return angles, lengths |
| 657 | |
| 658 | # XY is stacked [X, Y]. |
| 659 | # See quiver() doc for meaning of X, Y, U, V, angles. |