@@ -293,14 +293,16 @@ def map_dataarray_line(self, x=None, y=None, hue=None, **kwargs):
293
293
ax = ax , _labels = False ,
294
294
** kwargs )
295
295
self ._mappables .append (mappable )
296
- _ , _ , _ , xlabel , ylabel , huelabel = _infer_line_data (
296
+ _ , _ , hueplt , xlabel , ylabel , huelabel = _infer_line_data (
297
297
darray = self .data .loc [self .name_dicts .flat [0 ]],
298
298
x = x , y = y , hue = hue )
299
299
300
+ self ._hue_var = hueplt
301
+ self ._hue_label = huelabel
300
302
self ._finalize_grid (xlabel , ylabel )
301
303
302
- if add_legend and huelabel :
303
- self .add_line_legend ( huelabel )
304
+ if add_legend and hueplt is not None and huelabel is not None :
305
+ self .add_legend ( )
304
306
305
307
return self
306
308
@@ -314,12 +316,12 @@ def _finalize_grid(self, *axlabels):
314
316
if namedict is None :
315
317
ax .set_visible (False )
316
318
317
- def add_line_legend (self , huelabel ):
319
+ def add_legend (self , ** kwargs ):
318
320
figlegend = self .fig .legend (
319
321
handles = self ._mappables [- 1 ],
320
- labels = list (self .data . coords [ huelabel ] .values ),
321
- title = huelabel ,
322
- loc = "center right" )
322
+ labels = list (self ._hue_var .values ),
323
+ title = self . _hue_label ,
324
+ loc = "center right" , ** kwargs )
323
325
324
326
# Draw the plot to set the bounding boxes correctly
325
327
self .fig .draw (self .fig .canvas .get_renderer ())
0 commit comments