@@ -777,12 +777,14 @@ def plot( data, **kwargs ):
777
777
else :
778
778
havedf = False # must be a single series or array
779
779
apdata = [apdata ,] # make it iterable
780
+ colcount = 0
780
781
for column in apdata :
781
782
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 )
783
784
_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 )
786
788
for ax in set (contains_legend_label ): # there might be duplicates
787
789
ax .legend ()
788
790
@@ -1072,7 +1074,7 @@ def _addplot_collections(panid,panels,apdict,xdates,config):
1072
1074
ax .autoscale_view ()
1073
1075
return ax
1074
1076
1075
- def _addplot_columns (panid ,panels ,ydata ,apdict ,xdates ,config ):
1077
+ def _addplot_columns (panid ,panels ,ydata ,apdict ,xdates ,config , colcount ):
1076
1078
external_axes_mode = apdict ['ax' ] is not None
1077
1079
if not external_axes_mode :
1078
1080
secondary_y = False
@@ -1094,7 +1096,10 @@ def _addplot_columns(panid,panels,ydata,apdict,xdates,config):
1094
1096
ax = apdict ['ax' ]
1095
1097
1096
1098
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' ]
1098
1103
if aptype == 'scatter' :
1099
1104
size = apdict ['markersize' ]
1100
1105
mark = apdict ['marker' ]
0 commit comments