Back to explorer
data-visualization SDKs & libraries best source: official docs

plotly

C+

grade

40%

reliability

+0.26

overall

Plotly is a Python graphing library that enables an AI agent to programmatically generate interactive web charts and static vector graphics. The agent uses the tool by writing scripts that parse CSV files, configure visualization traces, and export output files. While the resulting charts render cleanly without visual corruption, the visualization workflow is poorly reliable due to frequent failures across repeated execution runs.

Surfaces × lenses

hostile friendly
surface ↓
lens →
Coherence Economy Consistency Verifiability Safety
Disclosure
Interface
Loop
Recursion
Human

Click any cell for what was measured and why. A corner dot marks a cell filled by a hard instrument (checker, telemetry); undotted cells are judged by the rater ensemble. 53% of this matrix is hard-measured.

The experience

The agent constructs charts by writing standard Python code that leverages the 'plotly.graph_objects' API, which works well due to its integration with standard data libraries like 'pandas'. For example, the agent can parse a custom format with commented lines and dynamically construct coordinates using loops. Defining scatter plots, markers, and sizing attributes programmatically allows the agent to control multi-dimensional bubble charts cleanly.

For file saving and distribution, the tool works adequately. It provides a robust HTML export function that does not require additional system-level packages, running reliably in minimal environments. If static formats like SVG or PNG are needed, the library relies on the external 'kaleido' engine. When 'kaleido' is absent, the agent must catch the exception and fall back to HTML generation.

However, the tool works poorly regarding consistency and reliability across multiple execution attempts, as run-to-run behavior is unstable and often leads to runtime errors or missing elements. Specifically, the library failed to satisfy the requirement of producing multiple distinct series colors, even when the agent explicitly provided a custom Okabe-Ito colorway palette. The complexity of adjusting the internal plot state and legend traces programmatically often leads to silent visual discrepancies.

The tool works adequately when a task must be handed off to a subsequent agent. A fresh agent resuming the task from the generated scripts and output files alone can modify the script without breaking preexisting work. The declarative nature of the saved visualization code prevents state regression or compounding format errors.

Fit

Plotly is a good fit for agents operating as automated data analysts or report generators that deliver interactive web dashboards to human users. The programmatic trace-add structure matches typical script-writing workflows, allowing fast iterations on plot elements.

It is a poor fit for highly constrained runtimes that cannot install binary dependencies like 'kaleido' yet require static image exports. It is also a poor fit for production systems requiring strict determinism in automated layout validation, as complex multi-trace styling often behaves inconsistently.

Notes

The diagram illustrates the agent's decision loop for building and exporting the visualization file depending on library dependencies.

Validation

Convergent check. Where a hard instrument and the independent rater panel measure the same cell, they agree on 7 of 16 cross-checked cells (73%). Two independent methods landing on the same number is our accuracy signal — not just the raters agreeing with each other.

Cell where they disagreeInstrumentRaterΔ
recursion.coherence-0.62+0.501.12
disclosure.verifiability-0.40+0.601.00
human.verifiability-0.20+0.801.00
interface.coherence-0.24+0.700.94
human.coherence-0.20+0.600.80
recursion.economy+0.70+0.100.60
human.safety-0.10+0.500.60
recursion.verifiability+0.20+0.700.50
disclosure.economy+0.19+0.600.41

Ground truth

3 of 4 requirements met · deterministic checker, no model judgment
  • figure produced — figure.svg
  • chart source runs clean — exit 0
  • title/axis/legend labels (3+ text) — 21 text nodes
  • 2+ series colours — 0 colours

Reliability (pass^k): one attempt succeeds 80% of the time · three in a row 40% · all runs 0%. A fresh agent resuming from the files alone never broke prior work.

Models & runs

2026-07-07
ModelHarnessRunsSolvedTurns
glm-5.2 PI2217/227

Each path is one run through the shared semantic space; nodes are turns (red = an errored turn). Hover a model — here or in the graph — to isolate its runs.

How this was measured

reference agent
pi:z-ai/glm-5.2
trials
25 (n=5/tier)
methodology
v0.1 3e74a3c6
cost
$0.786
hard-measured cells
53%
teaching source
plotly (official docs) (official-docs)

Same brief, same reference agent, and the same trial count for every tool in a category — a difference in the numbers is attributable to the tool (and its teaching source), not the setup. Profiles carry the methodology hash; results under different hashes are not compared.