Declarative Python visualization library that builds interactive charts on the Vega-Lite JSON specification with a concise API.
plotly/plotly.py
An interactive, browser-based graphing library for Python that builds charts from a declarative figure API built on plotly.js.
Open-source alternative to:Tableau
- Stars
- 18,878
- Forks
- 2,895
- Open issues
- 743
- Last commit
- 8 hours ago
What is it?
plotly.py is a Python graphing library for creating interactive charts. It is a high-level, declarative wrapper around plotly.js, which provides more than 30 chart types, including scientific, 3D, statistical, SVG map and financial charts.
The library offers two main interfaces: graph objects (plotly.graph_objects) for building figures trace by trace, and Plotly Express (plotly.express) for creating common charts in a single function call from dataframes. Figures render in Jupyter notebooks, marimo, standalone HTML files, and Dash applications.
Static image export is supported through the separate kaleido package, which requires Chrome or Chromium on the system. A Jupyter widget mode is available via anywidget.
Key features
- 01Over 30 chart types, including 3D, statistical, map and financial charts.
- 02Two APIs: graph objects for fine control and Plotly Express for quick charts from dataframes.
- 03Interactive figures that render in Jupyter, marimo, standalone HTML and Dash apps.
- 04Static image export through the kaleido package.
- 05Jupyter widget support via anywidget.
Use cases
- Exploring and visualizing dataframes in Jupyter notebooks.
- Building interactive dashboards with Dash.
- Producing shareable standalone HTML charts.
- Creating scientific, 3D or financial plots from Python code.
Quick start
- 1
Install plotly with pip
pip install plotly - 2
Create a figure with graph objects and show it
- 3
Optionally install Plotly Express extras
pip install plotly[express]
Things to know
- Plotly Express also needs a supported dataframe library installed separately.
- Static image export requires Chrome or Chromium on the system.
In collections
Topics
FAQ
- What is plotly.py?
- An interactive, browser-based graphing library for Python that builds charts from a declarative figure API built on plotly.js. plotly.py is a Python graphing library for creating interactive charts. It is a high-level, declarative wrapper around plotly.js, which provides more than 30 chart types, including scientific, 3D, statistical, SVG map and financial charts.
- Is plotly.py free to use? What license does it have?
- plotly.py is open source under the MIT license. Check the license terms before using it in commercial products.
- Is plotly.py still maintained?
- Actively maintained. The last commit to plotly.py was on Nov 6, 2026.
- What can I use plotly.py for?
- Exploring and visualizing dataframes in Jupyter notebooks. Building interactive dashboards with Dash. Producing shareable standalone HTML charts. Creating scientific, 3D or financial plots from Python code.
- How do I install plotly.py?
- Install plotly with pip: pip install plotly Create a figure with graph objects and show it Optionally install Plotly Express extras: pip install plotly[express]
- Where can I get plotly.py?
- The source code and installation instructions are on GitHub: https://github.com/plotly/plotly.py
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A declarative JSON grammar for building interactive data visualizations that render to HTML5 Canvas or SVG.
A free, open-source JavaScript library for binding data to SVG, Canvas and HTML to build custom, data-driven visualizations.
A Python low-code toolkit for building multi-page data visualization dashboards built on Plotly, Dash and Pydantic.
A Python library that turns pandas, polars, or pyarrow dataframes into an interactive drag-and-drop visual analysis UI inside Jupyter.
Open-source desktop platform for visualizing, exploring and manipulating large graphs and networks, with real-time layout and filtering.