|
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
|
@@ -505,11 +508,9 @@ def get_datalim(self, transData):
|
505 | 508 | @allow_rasterization
|
506 | 509 | def draw(self, renderer):
|
507 | 510 | self._init()
|
508 |
| - if (self._new_UV or self.angles == 'xy' |
509 |
| - or self.scale_units in ['x', 'y', 'xy']): |
510 |
| - verts = self._make_verts(self.U, self.V) |
511 |
| - self.set_verts(verts, closed=False) |
512 |
| - self._new_UV = False |
| 511 | + verts = self._make_verts(self.U, self.V) |
| 512 | + self.set_verts(verts, closed=False) |
| 513 | + self._new_UV = False |
513 | 514 | mcollections.PolyCollection.draw(self, renderer)
|
514 | 515 |
|
515 | 516 | def set_UVC(self, U, V, C=None):
|
|
0 commit comments