Plotly

Plotly: Interactive Graphing Library

Overview
Plotly (specifically `plotly.express` and `plotly.graph_objects`) is a graphing library that makes interactive, publication-quality graphs. Unlike Matplotlib (static images), Plotly graphs are rendered in JavaScript (D3.js stack) and allow zooming, panning, and hovering.

Key Features

1. Interactivity by Default
In a Jupyter Notebook or Web App (Streamlit/Dash), users can hover over points to see exact values.

2. High-Level API (Plotly Express)
Create complex charts in one line.

import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig.show()

3. Dashboards
Plotly is the rendering engine for Dash and Streamlit, making it the standard for Python Data Apps.

Chart Types
- Basic: Line, Bar, Scatter, Pie.
- Statistical: Box, Violin, Histogram, Heatmap.
- Scientific: 3D Surface, Contour, Log plots.
- Maps: Choropleth, Scatter Geo (using Mapbox).
- Financial: Candlestick charts.

Plotly vs Matplotlib
- Matplotlib: Better for static papers (PDF/EPS). Precise control.
- Plotly: Better for web, presentations, and exploration.

Rendering
It works entirely offline but creates HTML files or renders inline in Notebooks.

Take plotly further

Ask the copilot about this term, or have our engineers assess it against your process.