xhl*_*uca 13

JupyterDash(在笔记本中运行 Dash 的官方库)现在支持在 Colab 上运行应用程序。

您可以将此代码粘贴到 Colab 笔记本中,您的应用程序将内联显示:

!pip install jupyter-dash

import plotly.express as px
from jupyter_dash import JupyterDash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
# Load Data
df = px.data.tips()
# Build App
app = JupyterDash(__name__)
app.layout = html.Div([
    html.H1("JupyterDash Demo"),
    dcc.Graph(id='graph'),
    html.Label([
        "colorscale",
        dcc.Dropdown(
            id='colorscale-dropdown', clearable=False,
            value='plasma', options=[
                {'label': c, 'value': c}
                for c in px.colors.named_colorscales()
            ])
    ]),
])
# Define callback to update graph
@app.callback(
    Output('graph', 'figure'),
    [Input("colorscale-dropdown", "value")]
)
def update_figure(colorscale):
    return px.scatter(
        df, x="total_bill", y="tip", color="size",
        color_continuous_scale=colorscale,
        render_mode="webgl", title="Tips"
    )
# Run app and display result inline in the notebook
app.run_server(mode='inline')
Run Code Online (Sandbox Code Playgroud)

下面是输出的 GIF图像。您还可以查看这款 Colab 笔记本

这里有一些更有用的链接:

  • 谢谢,这看起来很棒。我运行它并收到 Google 403 错误。知道这意味着什么吗?另外,您可能希望将导入更新为:“from dash import dcc from dash import html”,因为 dcc 和 html 的导入已被弃用。 (3认同)

maj*_*jom 9

据我所知,目前尚无直接的方法可以做到这一点。

在下面找到类似于设置Tensorboard的解决方法(https://www.dlology.com/blog/quick-guide-to-run-tensorboard-in-google-colab/)。

从设置此替代方法所需的所有内容的代码单元开始:

# How to run a Dash app in Google Colab

## Requirements

### Install ngrok
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip

### Run ngrok to tunnel Dash app port 8050 to the outside world. 
### This command runs in the background.
get_ipython().system_raw('./ngrok http 8050 &')

### Get the public URL where you can access the Dash app. Copy this URL.
! curl -s http://localhost:4040/api/tunnels | python3 -c \
    "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

### Install Dash
!pip install dash==0.31.1  # The core dash backend
!pip install dash-html-components==0.13.2  # HTML components
!pip install dash-core-components==0.39.0  # Supercharged components
!pip install dash-table==3.1.7  # Interactive DataTable component (new!)
Run Code Online (Sandbox Code Playgroud)

使用Dash应用程序添加另一个代码单元:

## Dash app (https://dash.plot.ly/getting-started)

### Save file with Dash app on the Google Colab machine
%%writefile my_app1.py
import dash
import dash_core_components as dcc
import dash_html_components as html

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div(children=[
    html.H1(children='Hello Dash'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
                {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
            ],
            'layout': {
                'title': 'Dash Data Visualization'
            }
        }
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)

然后,在最后一个代码单元中,您可以启动Dash应用程序(此单元将很忙,直到您停止执行并因此停止Dash应用程序为止)。

### Run Dash app
!python my_app1.py
Run Code Online (Sandbox Code Playgroud)

要访问Dash应用,请复制上面的ngrok.io-URL并将其粘贴到新的浏览器标签中(NOT 127.0.0.1:8050),然后等待几秒钟。