Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Plotly interactive visualization. Express and Graph Objects: scatter, line, bar, heatmap, 3D, geographic charts; subplots; styling; export. Use when interactivity (hover/zoom) is needed. For static figures use plotnine; for GIS use geopandas.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 45% | 0% |
| case-23 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 57% | 0% |
Plotly interactive visualization library for Python. Covers Plotly Express and Graph Objects for scatter, line, bar, histogram, box, heatmap, 3D, and geographic charts; subplots and faceting; styling; and HTML/image export. Use when creating interactive visualizations with hover/zoom/pan, building web-based charts, or producing geographic or 3D plots. Prefer over plotnine when interactivity is required; for spatial analysis, projections, or GIS-style mapping, use geopandas.
Quick reference for creating interactive data visualizations with Plotly, featuring both the high-level Plotly Express API and low-level Graph Objects.
Plotly is an interactive visualization library for Python:
| File | Purpose | When to Read | |------|---------|--------------| | quickstart.md | Installation, imports, px vs go | Starting out | | charts.md | Scatter, line, bar, histogram, box | Creating visualizations | | subplots-facets.md | Multi-panel layouts, faceting | Multiple charts together | | styling.md | Templates, colors, layout | Customizing appearance | | export.md | HTML, images, JSON | Saving and sharing | | gotchas.md | Common errors, best practices | Debugging |
What kind of chart?
├─ Scatter plot → ./references/charts.md
├─ Line chart → ./references/charts.md
├─ Bar chart → ./references/charts.md
├─ Histogram → ./references/charts.md
├─ Box/Violin plot → ./references/charts.md
├─ Heatmap → ./references/charts.md
├─ 3D/Maps/Financial → ./references/charts.md (Other Chart Types)
└─ Not sure → ./references/quickstart.mdMultiple panels?
├─ Same chart, split by category → ./references/subplots-facets.md (faceting)
├─ Different charts in grid → ./references/subplots-facets.md (make_subplots)
├─ Shared axes → ./references/subplots-facets.md
└─ Secondary y-axis → ./references/subplots-facets.mdWhat to customize?
├─ Overall theme → ./references/styling.md (templates)
├─ Colors → ./references/styling.md
├─ Titles/labels → ./references/styling.md
├─ Axes → ./references/styling.md
├─ Legend → ./references/styling.md
└─ Hover info → ./references/styling.mdExport format?
├─ Interactive HTML → ./references/export.md
├─ Static image (PNG/SVG/PDF) → ./references/export.md
├─ JSON for API → ./references/export.md
└─ Embed in webpage → ./references/export.mdCommon issues?
├─ Figure not showing → ./references/gotchas.md
├─ Image export fails → ./references/gotchas.md
├─ Performance issues → ./references/gotchas.md
├─ px vs go confusion → ./references/gotchas.md
└─ Column/data errors → ./references/gotchas.mdImportant: In data research pipelines (see CLAUDE.md), all visualizations are generated through script files in scripts/stage8_analysis/, not interactively. This ensures auditability and reproducibility.
The pattern:
scripts/stage8_analysis/{step}_{plot-name}.pyClosely read agent_reference/SCRIPT_EXECUTION_REFERENCE.md for the mandatory file-first execution protocol covering complete code file writing, output capture, and file versioning rules.
See:
agent_reference/WORKFLOW_PHASE4_ANALYSIS.md — Stage 8 (Analysis & Visualization)The examples below show Plotly syntax. In research workflows, wrap them in scripts following the file-first pattern.
pythonimport plotly.express as px # High-level API import plotly.graph_objects as go # Low-level API from plotly.subplots import make_subplots # For subplots import plotly.io as pio # For export/config
pythonimport plotly.express as px fig = px.scatter(df, x="col_x", y="col_y", color="category") fig.show()
pythonimport plotly.graph_objects as go fig = go.Figure() fig.add_trace(go.Scatter(x=x_data, y=y_data, mode="markers")) fig.update_layout(title="My Plot") fig.show()
| Function | Chart Type | |----------|------------| | px.scatter() | Scatter plot | | px.line() | Line chart | | px.bar() | Bar chart | | px.histogram() | Histogram | | px.box() | Box plot | | px.violin() | Violin plot | | px.imshow() | Heatmap/Image | | px.pie() | Pie chart |
| Trace | Use Case | |-------|----------| | go.Scatter | Points, lines, or both | | go.Bar | Bar charts | | go.Histogram | Histograms | | go.Box | Box plots | | go.Heatmap | Heatmaps | | go.Pie | Pie charts |
python# Interactive HTML fig.write_html("plot.html") # Static image export (PNG/SVG/PDF) is NOT available in DAAF — kaleido is not # installed due to its heavy Chromium dependency. Use plotnine for static figures. # For interactive output, use HTML: # fig.write_image("plot.png") # Would require: pip install kaleido + Chromium
| Topic | Reference File | |-------|---------------| | Installation | ./references/quickstart.md | | px vs go | ./references/quickstart.md | | Built-in datasets | ./references/quickstart.md | | Scatter plots | ./references/charts.md | | Line charts | ./references/charts.md | | Bar charts | ./references/charts.md | | Histograms | ./references/charts.md | | Box plots | ./references/charts.md | | Other chart types | ./references/charts.md | | Faceting | ./references/subplots-facets.md | | make_subplots | ./references/subplots-facets.md | | Templates/Themes | ./references/styling.md | | Colors | ./references/styling.md | | Layout customization | ./references/styling.md | | Hover customization | ./references/styling.md | | HTML export | ./references/export.md | | Image export | ./references/export.md | | JSON export | ./references/export.md | | Common errors | ./references/gotchas.md | | Performance | ./references/gotchas.md | | Best practices | ./references/gotchas.md |
When this library is used as a primary analytical tool, include in the report's Software & Tools references:
> Plotly Technologies Inc. Plotly: Interactive graphing library Computer software]. https://plotly.com/
Cite when: Plotly is the primary visualization library producing interactive figures included in the report or notebook. Do not cite when: Only used for quick exploratory plots not included in deliverables.
Other measured skills in the registry, with their headline benchmark lift.