web-dev-qa-db-ja.com

Google Collaboatoryを使用したPlotly Notebookモード

私は陰謀的なノートブックモードで共同作業を試みています-新しいノートブックを開き、陰謀のドキュメントから次の簡単な例をコピーして貼り付けますが、出力は表示されません。プロットが通常表示される出力スペースに大きな空白があります。

これは私のローカルノートブック(plotlyの新しいバージョンですが、ドキュメントごとにオフラインモードがgoogle colabバージョンで動作するはずです)で正常に機能します。

import plotly
from plotly.graph_objs import Scatter, Layout

plotly.offline.init_notebook_mode(connected=True)

plotly.offline.iplot({
    "data": [Scatter(x=[1, 2, 3, 4], y=[4, 3, 2, 1])],
    "layout": Layout(title="hello world")
})
22
elz

plotlyバージョン4.x

バージョン4では、plotlyレンダラーはColabを認識しているため、ColabとJupyter(およびKaggle、Azure、nteractなどの他のノートブック)の両方で図を表示するには、次の情報で十分です。

import plotly.graph_objects as go
fig = go.Figure( go.Scatter(x=[1,2,3], y=[1,3,2] ) )
fig.show()

plotlyバージョン3.x

ColabでPlotlyを使用する例を示します。 (プロットにはカスタム初期化が必要です。)

https://colab.research.google.com/notebook#fileId=14oudHx5e5r7hm1QcbZ24FVHXgVPD0k8f

この関数を定義する必要があります。

def configure_plotly_browser_state():
  import IPython
  display(IPython.core.display.HTML('''
        <script src="/static/components/requirejs/require.js"></script>
        <script>
          requirejs.config({
            paths: {
              base: '/static/base',
              plotly: 'https://cdn.plot.ly/plotly-latest.min.js?noext',
            },
          });
        </script>
        '''))

そして、各オフラインプロットセルで呼び出します。

configure_plotly_browser_state()
32
Bob Smith

IPythonのpre_run_cellフックを使用して、すべてのセルを実行する前にconfigure_plotly_browser_state()を実行できます。

import IPython

IPython.get_ipython().events.register('pre_run_cell', configure_plotly_browser_state)
8
blois

ColabでPlotlyを使用するには、メソッドを追加する必要があります。

def enable_plotly_in_cell():
  import IPython
  from plotly.offline import init_notebook_mode
  display(IPython.core.display.HTML('''<script src="/static/components/requirejs/require.js"></script>'''))
  init_notebook_mode(connected=False)

このメソッドは、Plotlyグラフを表示しているすべてのセルに対して実行する必要があります。

サンプル:

from plotly.offline import iplot
import plotly.graph_objs as go

enable_plotly_in_cell()

data = [
    go.Contour(
        z=[[10, 10.625, 12.5, 15.625, 20],
           [5.625, 6.25, 8.125, 11.25, 15.625],
           [2.5, 3.125, 5., 8.125, 12.5],
           [0.625, 1.25, 3.125, 6.25, 10.625],
           [0, 0.625, 2.5, 5.625, 10]]
    )
]
iplot(data)

参考: https://colab.research.google.com/notebooks/charts.ipynb#scrollTo=WWbPMtDkO4xg

3
Pratik Parmar

デフォルトのレンダリングを変更する必要があります。これはドキュメントからの抜粋です。 https://plot.ly/python/renderers/#setting-the-default-renderer

現在および使用可能なレンダラーは、plotly.io.renderers構成オブジェクト。このオブジェクトを表示して、現在のデフォルトレンダラーと使用可能なすべてのレンダラーのリストを確認します。

import plotly.io as pio
pio.renderers


Renderers configuration
    -----------------------
        Default renderer: 'notebook_connected'
        Available renderers:
            ['plotly_mimetype', 'jupyterlab', 'nteract', 'vscode',
             'notebook', 'notebook_connected', 'kaggle', 'Azure', 'colab',
             'cocalc', 'databricks', 'json', 'png', 'jpeg', 'jpg', 'svg',
             'pdf', 'browser', 'firefox', 'chrome', 'chromium', 'iframe',
             'iframe_connected', 'sphinx_gallery']

したがって、問題の解決策は、デフォルトのレンダリング「colab」を指定することです。

import plotly.io as pio
pio.renderers.default = "colab"
0
Marat Idrisov