Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

algerjiang/jupyter-plotly-dash

Open more actions menu
 
 

Repository files navigation

jupyter-plotly-dash

PyPI version Downloads Develop Branch Build Status Coverage Status Documentation Status

Allow use of plotly dash applications within Jupyter notebooks, with the management of both session and internal state.

See the source for this project here: https://github.com/GibbsConsulting/jupyter-plotly-dash

Try me here in your browser: Binder

More detailed information can be found in the online documentation at https://readthedocs.org/projects/jupyter-plotly-dash

Installation

Install the package. Use of a virtualenv environment is strongly recommended.

pip install jupyter_plotly_dash

Now the package is installed, it can be used within a Jupyter notebook.

Simple use

After installation, launch a python Jupyter notebook server using jupyter notebook or jupyter lab as desired. Create a Dash application, using the JupyterDash class instead of dash.Dash for the application, and copy the following into a code cell and evaluate it.

from jupyter_plotly_dash import JupyterDash

import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output

app = JupyterDash('SimpleExample')

app.layout = html.Div([
    dcc.RadioItems(
        id='dropdown-color',
        options=[{'label': c, 'value': c.lower()}
                 for c in ['Red', 'Green', 'Blue']],
        value='red'
    ),
    html.Div(id='output-color'),
    dcc.RadioItems(
        id='dropdown-size',
        options=[{'label': i, 'value': j}
                 for i, j in [('L','large'), ('M','medium'), ('S','small')]],
        value='medium'
    ),
    html.Div(id='output-size')

])

@app.callback(
    dash.dependencies.Output('output-color', 'children'),
    [dash.dependencies.Input('dropdown-color', 'value')])
def callback_color(dropdown_value):
    return "The selected color is %s." % dropdown_value

@app.callback(
    dash.dependencies.Output('output-size', 'children'),
    [dash.dependencies.Input('dropdown-color', 'value'),
     dash.dependencies.Input('dropdown-size', 'value')])
def callback_size(dropdown_color, dropdown_size):
    return "The chosen T-shirt is a %s %s one." %(dropdown_size,
                                                  dropdown_color)

app

The last line causes the dash application to be rendered. All callbacks are invoked asynchronously, so the display of an application does not prevent other notebook cells from being evaluated. Multiple instances of the same dash application can be rendered at the same time within a single notebook.

Binder use

To launch a binder image, visit Binder to run Jupyter notebooks using the latest version on the master branch of the main repository.

About

Jupyter notebook wrapper for plotly dash applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 68.1%
  • Jupyter Notebook 28.1%
  • Shell 3.8%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.