AI-powered plotting gallery. One spec, nine libraries — matplotlib, plotly, seaborn, bokeh, altair & more. Compare and copy working code.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
library-agnostic, ai-powered plotting examples.
anyplot is an AI-powered platform for data visualization that automatically discovers, generates, tests, and
maintains plotting examples. Browse hundreds of plots across 15 major visualization libraries in Python, R, Julia, and
JavaScript — matplotlib, seaborn, plotly, bokeh, altair, plotnine, pygal, lets-plot, ggplot2, Makie.jl, Chart.js, D3.js,
ECharts, Highcharts, and MUI X Charts (React) — with an architecture ready to welcome additional ecosystems over time.檢視完整 README ↗library-agnostic, ai-powered plotting examples.
anyplot is an AI-powered platform for data visualization that automatically discovers, generates, tests, and maintains plotting examples. Browse hundreds of plots across 15 major visualization libraries in Python, R, Julia, and JavaScript — matplotlib, seaborn, plotly, bokeh, altair, plotnine, pygal, lets-plot, ggplot2, Makie.jl, Chart.js, D3.js, ECharts, Highcharts, and MUI X Charts (React) — with an architecture ready to welcome additional ecosystems over time.
Community-driven, AI-maintained - Propose plot ideas via GitHub Issues, AI generates the code, automated quality checks ensure excellence. Zero manual coding required.
Specification-first design: Every plot starts as a Markdown spec (library-agnostic), then AI generates implementations for all 15 supported libraries across Python, R, Julia, and JavaScript.
plots/scatter-basic/
├── specification.md # Library-agnostic specification
├── specification.yaml # Tags, created, issue, suggested
├── metadata/ # Per-library metadata (quality scores, preview URLs)
│ ├── python/
│ │ ├── matplotlib.yaml
│ │ └── ...
│ └── javascript/
│ └── muix.yaml
└── implementations/ # Grouped by language; one file per library
├── python/
│ ├── matplotlib.py
│ ├── seaborn.py
│ └── ... (6 more)
├── r/ggplot2.R
├── julia/makie.jl
└── javascript/
├── chartjs.js # framework-agnostic JS libs → .js
├── d3.js
├── echarts.js
├── highcharts.js
└── muix.tsx # MUI X — React, authored as .tsx
Issue-based workflow: GitHub Issues as state machine for plot lifecycle. Status tracked via live-updating table (no sub-issues). Each library generates in parallel, creating PRs to a feature branch.
AI quality review: Claude evaluates generated plots using cascading thresholds (90/80/70/60/50) over 4 repair attempts. Final score ≥ 50 required for merge.
See docs/reference/ for details.
Backend: FastAPI • PostgreSQL • SQLAlchemy • Python 3.14+
Frontend: React 19 • Vite • TypeScript • MUI
Plotting (Python): matplotlib • seaborn • plotly • bokeh • altair • plotnine • pygal • lets-plot Plotting (R): ggplot2 Plotting (Julia): Makie.jl Plotting (JavaScript): Chart.js • D3.js • ECharts • Highcharts • MUI X Charts (React)
Infrastructure: Google Cloud Run • Cloud SQL • Cloud Storage
Automation: GitHub Actions
AI: Claude (code generation + quality review)
anyplot provides an MCP (Model Context Protocol) server for AI assistants to search plot specifications and fetch implementation code.
Available Tools:
list_specs - List all plot specificationssearch_specs_by_tags - Search by plot type, domain, features, libraryget_spec_detail - Get full specification with all implementationsget_implementation - Get code for a specific librarylist_libraries - List supported plotting librariesget_tag_values - Get available tag values by categoryAdd to your MCP client configuration (e.g., Claude Code .mcp.json):
Streamable HTTP Transport (the only supported transport):
{
"mcpServers": {
"anyplot": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.anyplot.ai/mcp/"]
}
}
}
Clients with native Streamable HTTP support can connect to
https://api.anyplot.ai/mcp/ directly, without the mcp-remote bridge.
The legacy SSE endpoint (
https://api.anyplot.ai/sse/) has been removed — update any configuration still pointing at it.
Most plotting libraries are fully open source. Note these exceptions:
anyplot/
├── plots/ # Plot specs + metadata + implementations
├── prompts/ # AI agent prompts
├── api/ # FastAPI backend
├── app/ # React frontend
├── core/ # Shared business logic
├── automation/ # Workflow scripts (sync, labels)
├── tests/ # Test suite (unit, integration, e2e)
├── alembic/ # Database migrations
├── docs/ # Documentation
└── .github/workflows/ # GitHub Actions
For details, see Repository Structure
Contributions are welcome — all code is AI-generated: you propose ideas, AI implements them.
Three ways to contribute (from anyplot.ai or GitHub):
| Action | When to use | From anyplot.ai |
|---|---|---|
| Suggest Spec | Propose a new plot type | "suggest spec" link in catalog |
| Report Spec Issue | Problem with a specification | "report issue" link on spec page |
| Report Impl Issue | Problem with a library implementation | "report issue" link on impl page |
How it works:
Important: Don't submit code directly. If a plot has quality issues, it means the spec needs improvement, not the code.
See contributing.md for details.
See Development Guide for local setup instructions.
MIT License - see LICENSE file for details.
The JetBrains Mono fonts bundled in agents/anyplot/render/fonts/ for the footer strip of user plots are third-party files under the SIL Open Font License 1.1; see their notice.
Built by Markus Neusinger