Skip to main content

An open-source, interactive graphing library for Python

Project description

Latest Release
PyPI Downloads


pip install plotly "notebook>=5.3" "ipywidgets>=7.2"

Inside Jupyter notebook:

import plotly.graph_objs as go
fig = go.FigureWidget()
# Display an empty figure
# Add a scatter chart
fig.add_scatter(y=[2, 1, 4, 3])
# Add a bar chart
fig.add_bar(y=[1, 4, 3, 2])
# Add a title
fig.layout.title = 'Hello FigureWidget'

See the Python documentation for more examples.

Read about what's new in v3

Overview is an interactive, open-source, and browser-based graphing library for Python :sparkles:

Built on top of plotly.js, is a high-level, declarative charting library. plotly.js ships with over 30 chart types, including scientific charts, 3D graphs, statistical charts, SVG maps, financial charts, and more. is MIT Licensed. Plotly graphs can be viewed in Jupyter notebooks, standalone HTML files, or hosted online on

Contact us for Plotly.js consulting, dashboard development, application integration, and feature additions. Sharing your graphs online or in dashboards? Consider a subscription.

Installation may be installed using pip...

pip install plotly==3.8.1

or conda.

conda install -c plotly plotly=3.8.1

Jupyter Notebook Support

For use in the Jupyter Notebook, install the notebook and ipywidgets packages using pip...

pip install "notebook>=5.3" "ipywidgets>=7.2"

or conda.

conda install "notebook>=5.3" "ipywidgets>=7.2"

JupyterLab Support (Python 3.5+)

For use in JupyterLab, install the jupyterlab and ipywidgets packages using pip...

pip install jupyterlab==0.35 "ipywidgets>=7.2"

or conda.

conda install jupyterlab=0.35 "ipywidgets>=7.2"

Then run the following commands to install the required JupyterLab extensions:

# Avoid "JavaScript heap out of memory" errors during extension installation
# (OS X/Linux)
export NODE_OPTIONS=--max-old-space-size=4096
# (Windows)
set NODE_OPTIONS=--max-old-space-size=4096

# Jupyter widgets extension
jupyter labextension install @jupyter-widgets/jupyterlab-manager@0.38 --no-build

# FigureWidget support
jupyter labextension install plotlywidget@0.9.1 --no-build

# offline iplot support
jupyter labextension install @jupyterlab/plotly-extension@0.18.2 --no-build

# JupyterLab chart editor support (optional)
jupyter labextension install jupyterlab-chart-editor@1.1 --no-build

# Build extensions (must be done to activate extensions since --no-build is used above)
jupyter lab build

# Unset NODE_OPTIONS environment variable
# (OS X/Linux)
# (Windows)

Static Image Export supports static image export using the to_image and write_image functions in the package. This functionality requires the installation of the plotly orca command line utility and the psutil Python package.

These dependencies can both be installed using conda:

conda install -c plotly plotly-orca psutil

Or, psutil can be installed using pip...

pip install psutil

and orca can be installed according to the instructions in the orca README.


If you're migrating from version 2, please check out the migration guide

Copyright and Licenses

Code and documentation copyright 2019 Plotly, Inc.

Code released under the MIT license.

Docs released under the Creative Commons license.

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
plotly-3.8.1-py2.py3-none-any.whl (41.2 MB) Copy SHA256 hash SHA256 Wheel py2.py3
plotly-3.8.1.tar.gz (28.5 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page