By default, Plotly chart with multiple traces shows legends automatically. If it has only one trace, it is not displayed automatically. To display, set showlegend parameter of Layout object to True.
layout = go.Layoyt(showlegend = True)
Default labels of legends are trace object names. To set legend label explicitly set name property of trace.
In following example, two scatter traces with name property are plotted.
import numpy as np import math #needed for definition of pi xpoints = np.arange(0, math.pi*2, 0.05) y1 = np.sin(xpoints) y2 = np.cos(xpoints) trace0 = go.Scatter( x = xpoints, y = y1, name='Sine' ) trace1 = go.Scatter( x = xpoints, y = y2, name = 'cos' ) data = [trace0, trace1] layout = go.Layout(title = "Sine and cos", xaxis = {'title':'angle'}, yaxis = {'title':'value'}) fig = go.Figure(data = data, layout = layout) iplot(fig)
The plot appears as below −