I have been trying to solve this issue for hours. I followed the steps on the Plotly website and the chart still doesn't show in the notebook.
This is my code for the plot:
colorway = ['#f3cec9', '#e7a4b6', '#cd7eaf', '#a262a9', '#6f4d96', '#3d3b72', '#182844']
data = [
go.Scatter(
x = immigration.columns,
y = immigration.loc[state],
name=state) for state in immigration.index]
layout = go.Layout(
title='Immigration',
yaxis=dict(title='Immigration %'),
xaxis=dict(title='Years'),
colorway=colorway,
font=dict(family='Courier New, monospace', size=18, color='#7f7f7f')
)
fig = go.Figure(data=data, layout=layout)
iplot(fig)
And this is everything I have imported into my notebook:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected=True)

tracesin that way, for loop did not work in that case. If you have not so muchstate, try to create eachtracefor eachstate. Just as showed here. And change eachyto name of state. Then create list of traces and named itdataas at example. - Dmitriy Kisil