@@ -92,8 +92,7 @@ def streamplot(axes, x, y, u, v, density=1, linewidth=None, color=None,
92
92
if use_multicolor_lines :
93
93
assert color .shape == grid .shape
94
94
line_colors = []
95
- if np .any (np .isnan (color )):
96
- color = np .ma .array (color , mask = np .isnan (color ))
95
+ color = np .ma .masked_invalid (color )
97
96
else :
98
97
line_kw ['color' ] = color
99
98
arrow_kw ['color' ] = color
@@ -112,10 +111,8 @@ def streamplot(axes, x, y, u, v, density=1, linewidth=None, color=None,
112
111
assert u .shape == grid .shape
113
112
assert v .shape == grid .shape
114
113
115
- if np .any (np .isnan (u )):
116
- u = np .ma .array (u , mask = np .isnan (u ))
117
- if np .any (np .isnan (v )):
118
- v = np .ma .array (v , mask = np .isnan (v ))
114
+ u = np .ma .masked_invalid (u )
115
+ v = np .ma .masked_invalid (v )
119
116
120
117
integrate = get_integrator (u , v , dmap , minlength )
121
118
@@ -160,7 +157,7 @@ def streamplot(axes, x, y, u, v, density=1, linewidth=None, color=None,
160
157
161
158
if use_multicolor_lines :
162
159
color_values = interpgrid (color , tgx , tgy )[:- 1 ]
163
- line_colors .extend (color_values )
160
+ line_colors .append (color_values )
164
161
arrow_kw ['color' ] = cmap (norm (color_values [n ]))
165
162
166
163
p = patches .FancyArrowPatch (arrow_tail ,
@@ -174,7 +171,7 @@ def streamplot(axes, x, y, u, v, density=1, linewidth=None, color=None,
174
171
transform = transform ,
175
172
** line_kw )
176
173
if use_multicolor_lines :
177
- lc .set_array (np .asarray (line_colors ))
174
+ lc .set_array (np .ma . hstack (line_colors ))
178
175
lc .set_cmap (cmap )
179
176
lc .set_norm (norm )
180
177
axes .add_collection (lc )
0 commit comments