带google colaborary的绘图笔记本模式

2024-05-16 07:34:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试colaboratory的plotly笔记本模式-我打开一个新笔记本,复制并粘贴plotly文档中的以下简单示例,但看不到输出。在输出空间中有一个很大的空白,在这个空白处绘图通常是空白的。

这在我的本地笔记本上运行良好(这是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")
})

Tags: 文档import版本示例粘贴模式空间笔记本
3条回答

要在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)

必须对显示绘图仪的每个单元格执行此方法。

样品:

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

configure_plotly_browser_state()可以在运行每个单元之前使用IPython的pre-run单元挂钩执行:

import IPython

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

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

这里有一个例子展示了Plotly在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()

相关问题 更多 >