|
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