Visual Studio CodeのJupyter extensionからPlotlyを使う

Visual Studio CodeJupyter extensionをすごく便利なのだが、そのままだとPlotlyを利用することができない.

これはRequire.jsが読み込まれていないからなので、以下のように読み込ませてあげると良い.

from IPython.display import HTML
html_code = '''
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.min.js"></script>
'''
HTML(html_code)

実行例

plotly on vscode jupyter
plotly on vscode jupyter

コードはplotlyのexampleを参考にした.

ポイントは

  • plotly.offlineinit_notebook_modeを最初に実行する
  • plotly.offline.iplotを利用する
#!/usr/bin/env python

#%%
from IPython.display import HTML
html_code = '''
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.min.js"></script>
'''
HTML(html_code)

#%%
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot

init_notebook_mode()

import numpy as np

x, y, z = np.random.multivariate_normal(np.array([0,0,0]), np.eye(3), 400).transpose()

trace1 = go.Scatter3d(
    x=x,
    y=y,
    z=z,
    mode='markers',
    marker=dict(
        size=12,
        color=z,                # set color to an array/list of desired values
        colorscale='Viridis',   # choose a colorscale
        opacity=0.8
    )
)

data = [trace1]
layout = go.Layout(
    margin=dict(
        l=0,
        r=0,
        b=0,
        t=0
    )
)
fig = go.Figure(data=data, layout=layout)
iplot(fig)