Skip to content

plotly.py

A Python library for making interactive, browser-based charts and graphs.

Stars
18.9k
Forks
2.9k
Licence
MIT
Language
Python
Last update
5 days ago
Type
Library

What it is

plotly.py is a Python library for creating interactive charts that open in a web browser. It is built on top of plotly.js and lets you describe a chart in code, then view it in Jupyter notebooks, as standalone HTML files, or inside Dash applications. The README says plotly.js provides over 30 chart types, including 3D, statistical, map and financial charts.

  • Plot a bar chart from a list or dataframe with Plotly Express
  • Build a figure step by step with Graph Objects
  • Save a chart as a standalone HTML file
  • Show a Plotly chart inside a Jupyter notebook or marimo notebook
  • Export static images with Kaleido after installing it

Great for

  • Python users who want hoverable, zoomable charts without writing JavaScript
  • Data analysts working in Jupyter notebooks
  • People building shareable HTML charts for reports
  • Developers embedding charts in Dash dashboards

Not ideal for

  • People who only need static images for print; the README points to a separate Kaleido package and a Chrome install for that, which adds setup
  • Users who need a non-Python language; this project is Python-specific
  • Projects needing a built-in dashboard server on its own, since the README links Dash as a separate product
Step-by-step guide: how to use plotly.pyInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Python

    Install plotly with pip

    pip install plotly

    Install with Plotly Express support

    pip install plotly[express]

    Install kaleido for static image export

    pip install -U kaleido
  2. 2

    Run it

    • Install plotly with pip install plotly
    • Run the Graph Objects example: import plotly.graph_objects as go, build a figure, then call fig.show()
    • Or install plotly[express] and run px.bar(x=["a", "b", "c"], y=[1, 3, 2]).show()
    • Install a supported dataframe library if you plan to pass dataframes to Plotly Express
  3. 3

    Get the most out of it

    • Use Plotly Express for quick charts and drop to Graph Objects when you need fine control
    • Render charts inside Jupyter by installing jupyter and anywidget, as the README describes
    • Export static images with kaleido (version 1.0 or greater) for reports
    • Embed charts in Dash applications for interactive dashboards
    • Consult the official Python documentation linked in the README for more examples

Downloads

Strengths

  • Charts are interactive by default, so users can hover, zoom and inspect data
  • Two APIs: a short high-level one (Plotly Express) and a detailed one (Graph Objects)
  • Licensed under MIT with a large community and active maintenance

Trade-offs

  • Static image export needs an extra package and a Chrome or Chromium install
  • Interactive charts depend on a browser, so they are less suited to fully offline or print-only workflows
  • The README is truncated here, so detailed API coverage and version-specific changes were not verified

How it compares

ProjectStarsTypeLevelUpdatedBest for
plotly.py (this)18.9kLibrarybeginner5 days agoPython users who want hoverable, zoomable charts without writing JavaScript
plotly.js18.4kLibrarybeginner7 days agoWeb developers who want interactive charts in their own site or app
visx21.1kLibraryintermediate5 months agoReact developers who want full control over how a chart looks and behaves
deck.gl14.7kLibraryintermediate4 days agoDevelopers building interactive maps or geospatial dashboards over large data sets
G212.7kLibraryintermediate8 days agoFront-end developers adding charts to a web dashboard
recharts27.7kLibrarybeginner4 days agoReact developers who need standard charts such as line, bar or similar graphs in a web app

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.