plotly.py: Interactive graphing library for Python
Interactive browser-based charts from Python with declarative API.
Learn more about plotly.py
plotly.py is a Python graphing library that generates interactive visualizations rendered in web browsers. It wraps plotly.js and provides a high-level, declarative API for constructing charts without requiring direct JavaScript knowledge. The library supports rendering in Jupyter notebooks, standalone HTML files, and integration with Dash applications for building dashboards. Charts are built using SVG and WebGL rendering depending on the chart type and complexity.

Declarative API design
Uses a high-level, declarative syntax through modules like plotly.express that abstract away underlying plotly.js complexity. This approach allows users to specify what data to visualize without managing rendering details.
Multiple deployment contexts
Visualizations can be rendered in Jupyter notebooks, marimo, standalone HTML files, or embedded in Dash applications. This flexibility supports different workflows from exploratory analysis to production dashboards.
Comprehensive chart library
Ships with over 30 chart types including 3D graphs, statistical charts, SVG maps, and financial charts. The underlying plotly.js library provides both SVG and WebGL rendering options for different performance and quality trade-offs.
pip install plotlyUpgrades plotly.js to 3.2.0 and deprecates create_hexbin_mapbox in favor of create_hexbin_map.
- –Replace create_hexbin_mapbox calls with create_hexbin_map before the deprecated function is removed.
- –Use new hovertemplatefallback and texttemplatefallback attributes for fallback template handling in charts.
Patch release fixing Kaleido image export dimensions, Scattergl text rendering, and fig.show() behavior with ipython installed.
- –Update to Plotly.js 3.1.1 resolves Scattergl plots failing to render when text elements are present.
- –Kaleido exports now correctly respect width and height specified in plot layout instead of ignoring them.
Maintenance release updating Plotly.js to 3.1.0, exposing a Chrome helper function, and fixing spurious deprecation warnings.
- –Call `plotly.io.get_chrome()` directly in scripts to retrieve the Chrome instance for rendering operations.
- –Upgrade to Plotly.js 3.1.0; consult upstream release notes for chart behavior changes and new features.
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
mermaid
JavaScript library rendering text-based diagrams as SVG.
cursor
Local code editor with integrated LLM assistance.
code-server
Run VS Code on remote servers via browser.
ts-node
Execute TypeScript directly without precompilation step.
nvm
nvm is a per-user, per-shell version manager for Node.js that allows switching between multiple installed Node versions from the command line. It works on any POSIX-compliant shell across Unix, macOS, and Windows WSL environments.