|
87 | 87 |
|
88 | 88 |
|
89 | 89 | *angles*: [ 'uv' | 'xy' | array ] |
90 | | - With the default 'uv', the arrow aspect ratio is 1, so that |
91 | | - if *U*==*V* the angle of the arrow on the plot is 45 degrees |
92 | | - CCW from the *x*-axis. |
| 90 | + With the default 'uv', the arrow axis aspect ratio is 1, so that |
| 91 | + if *U*==*V* the orientation of the arrow on the plot is 45 degrees |
| 92 | + CCW from the horizontal axis (positive to the right). |
93 | 93 | With 'xy', the arrow points from (x,y) to (x+u, y+v). |
| 94 | + Use this for plotting a gradient field, for example. |
94 | 95 | Alternatively, arbitrary angles may be specified as an array |
95 | | - of values in degrees, CCW from the *x*-axis. |
| 96 | + of values in degrees, CCW from the horizontal axis. |
| 97 | + Note: inverting a data axis will correspondingly invert the |
| 98 | + arrows *only* with `angles='xy'`. |
96 | 99 |
|
97 | 100 | *scale*: [ *None* | float ] |
98 | 101 | Data units per arrow length unit, e.g., m/s per plot width; a smaller |
@@ -520,11 +523,9 @@ def get_datalim(self, transData): |
520 | 523 | @allow_rasterization |
521 | 524 | def draw(self, renderer): |
522 | 525 | self._init() |
523 | | - if (self._new_UV or self.angles == 'xy' |
524 | | - or self.scale_units in ['x', 'y', 'xy']): |
525 | | - verts = self._make_verts(self.U, self.V) |
526 | | - self.set_verts(verts, closed=False) |
527 | | - self._new_UV = False |
| 526 | + verts = self._make_verts(self.U, self.V) |
| 527 | + self.set_verts(verts, closed=False) |
| 528 | + self._new_UV = False |
528 | 529 | mcollections.PolyCollection.draw(self, renderer) |
529 | 530 |
|
530 | 531 | def set_UVC(self, U, V, C=None): |
|
0 commit comments