如何在谷歌合作笔记本中显示情节输出?

Pou*_*del 6 python plotly jupyter-notebook google-colaboratory

我搜索了一整天如何在 google colaboratory jupyter notebooks 中显示情节图的输出。有一个 stackoverflow question 和来自 google colaboratory 的官方教程,但它们都对我不起作用。

官方链接:https :
//colab.research.google.com/notebooks/charts.ipynb#scrollTo=hFCg8XrdO4xj

stackoverflow 问题:
Plotly notebook 模式与 google colaboratory
https://colab.research.google.com/drive/14oudHx5e5r7hm1QcbZ24FVHXgVPD0k8f#scrollTo=8RCjUVpi2_xd

内置的 google colaboratory plotly 版本是 1.12.12。

测试情节版本

import plotly
plotly.__version__
1.12.12
Run Code Online (Sandbox Code Playgroud)

加载库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
Run Code Online (Sandbox Code Playgroud)

挂载谷歌驱动器

from google.colab import drive
drive.mount('/content/drive')

dat_dir = 'drive/My Drive/Colab Notebooks/data/'
Run Code Online (Sandbox Code Playgroud)

官方谷歌合作方法(失败)

# https://colab.research.google.com/notebooks/charts.ipynb#scrollTo=hFCg8XrdO4xj
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)
Run Code Online (Sandbox Code Playgroud)

测试官方建议(失败)

import plotly.plotly as py
import numpy as np
from plotly.offline import iplot
from plotly.graph_objs import Contours, Histogram2dContour, Marker, Scatter

enable_plotly_in_cell()

x = np.random.randn(2000)
y = np.random.randn(2000)
iplot([Histogram2dContour(x=x, y=y, contours=Contours(coloring='heatmap')),
       Scatter(x=x, y=y, mode='markers', marker=Marker(color='white', size=3, opacity=0.3))], show_link=False)
Run Code Online (Sandbox Code Playgroud)

Stackoverflow 鲍勃史密斯方法

# /sf/ask/3306157221/
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-1.5.1.min.js?noext',
            },
          });
        </script>
        '''))
Run Code Online (Sandbox Code Playgroud)

测试 Bob Smith 方法(失败)

# https://colab.research.google.com/drive/14oudHx5e5r7hm1QcbZ24FVHXgVPD0k8f#scrollTo=8RCjUVpi2_xd
import plotly.plotly as py
import numpy as np
from plotly.offline import init_notebook_mode, iplot
from plotly.graph_objs import Contours, Histogram2dContour, Marker, Scatter

configure_plotly_browser_state()

init_notebook_mode(connected=False)

x = np.random.randn(2000)
y = np.random.randn(2000)
iplot([Histogram2dContour(x=x, y=y, contours=Contours(coloring='heatmap')),
       Scatter(x=x, y=y, mode='markers', marker=Marker(color='white', size=3, opacity=0.3))], show_link=False)
Run Code Online (Sandbox Code Playgroud)

问题

如何在 google colaboratory 中显示 plotly 输出?

有可能吗?如果是这样,哪个版本的 plotly 或袖扣适合您?

如果无法显示,我们可以将输出文件保存.html在我们的谷歌驱动器中并手动打开它们并查看它们吗?

我感谢您的帮助。

Nit*_*n G 6

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()
Run Code Online (Sandbox Code Playgroud)

plotly版本 3.x

我也在努力在 Google colab 中显示绘图,并偶然发现了这个线程,您在其中解释了网络上不同解决方案的问题。对于每一种解决方案的感受都是相同的。最后,当我看到这个视频时,我的搜索结束了。

我遵循了他的方法(可能与您已经尝试过的方法类似),这对我有用。

  1. 通过!pip installplotly --upgrade重新启动运行时在 colab 中升级plotly按照建议
  2. 在重新运行笔记本之前评论升级选项
  3. 定义函数configure_plotly_browser_state ()
  4. 调用plotly库
  5. 在要调用 iplot 的每个单元格中调用函数和笔记本模式,如下所示

    配置_plotly_browser_state()

    init_notebook_mode(已连接=False)

    iplot(XXXXXX)

只需导入plotly库

请让我知道这可不可以帮你 :)


小智 5

尝试使用renderer="colab"如下图所示:

import plotly.graph_objects as go
fig = go.Figure(
    data=[go.Bar(y=[2, 1, 3])],
    layout_title_text="A Figure Displayed with the 'colab' Renderer"
)
fig.show(renderer="colab")
Run Code Online (Sandbox Code Playgroud)