@@ -777,12 +777,14 @@ def plot( data, **kwargs ):
777777 else :
778778 havedf = False # must be a single series or array
779779 apdata = [apdata ,] # make it iterable
780+ colcount = 0
780781 for column in apdata :
781782 ydata = apdata .loc [:,column ] if havedf else column
782- ax = _addplot_columns (panid ,panels ,ydata ,apdict ,xdates ,config )
783+ ax = _addplot_columns (panid ,panels ,ydata ,apdict ,xdates ,config , colcount )
783784 _addplot_apply_supplements (ax ,apdict ,xdates )
784- if apdict ["label" ]: # not supported for aptype == 'ohlc' or 'candle'
785- contains_legend_label .append (ax )
785+ colcount += 1
786+ if apdict ["label" ]: # not supported for aptype == 'ohlc' or 'candle'
787+ contains_legend_label .append (ax )
786788 for ax in set (contains_legend_label ): # there might be duplicates
787789 ax .legend ()
788790
@@ -1072,7 +1074,7 @@ def _addplot_collections(panid,panels,apdict,xdates,config):
10721074 ax .autoscale_view ()
10731075 return ax
10741076
1075- def _addplot_columns (panid ,panels ,ydata ,apdict ,xdates ,config ):
1077+ def _addplot_columns (panid ,panels ,ydata ,apdict ,xdates ,config , colcount ):
10761078 external_axes_mode = apdict ['ax' ] is not None
10771079 if not external_axes_mode :
10781080 secondary_y = False
@@ -1094,7 +1096,10 @@ def _addplot_columns(panid,panels,ydata,apdict,xdates,config):
10941096 ax = apdict ['ax' ]
10951097
10961098 aptype = apdict ['type' ]
1097- label = apdict ['label' ]
1099+ if isinstance (apdict ['label' ],(list ,tuple ,np .ndarray )):
1100+ label = apdict ['label' ][colcount ]
1101+ else : # isinstance(...,str)
1102+ label = apdict ['label' ]
10981103 if aptype == 'scatter' :
10991104 size = apdict ['markersize' ]
11001105 mark = apdict ['marker' ]
0 commit comments