diff --git a/.github/workflows/impl-review.yml b/.github/workflows/impl-review.yml
index 142e328cc4..5e85e3421a 100644
--- a/.github/workflows/impl-review.yml
+++ b/.github/workflows/impl-review.yml
@@ -144,15 +144,17 @@ jobs:
3. **Read library rules**: `prompts/library/${{ steps.pr.outputs.library }}.md`
- 4. **MANDATORY: View the plot image**
+ 4. **Read impl-tags guide**: `prompts/impl-tags-generator.md` (for step 8)
+
+ 5. **MANDATORY: View the plot image**
- You MUST use the Read tool to open `plot_images/plot.png`
- Visually analyze the image - this is critical for the review
- DO NOT skip this step - a review without seeing the image is invalid
- If the image cannot be read, STOP and report the error
- 5. **Evaluate against quality criteria** from `prompts/quality-criteria.md`
+ 6. **Evaluate against quality criteria** from `prompts/quality-criteria.md`
- 6. **Post verdict as PR comment** on PR #${{ steps.pr.outputs.pr_number }}:
+ 7. **Post verdict as PR comment** on PR #${{ steps.pr.outputs.pr_number }}:
```markdown
## AI Review - Attempt ${{ steps.attempts.outputs.display }}/3
@@ -199,7 +201,7 @@ jobs:
### Verdict: APPROVED / REJECTED
```
- 7. **Save review data to files** (for the workflow to parse):
+ 8. **Save review data to files** (for the workflow to parse):
```bash
echo "XX" > quality_score.txt
@@ -235,7 +237,27 @@ jobs:
EOF
```
- 8. **DO NOT add ai-approved or ai-rejected labels** - the workflow will add them after updating metadata.
+ 9. **Generate impl_tags** (based on prompts/impl-tags-generator.md):
+ Analyze the implementation code and create impl_tags with 5 dimensions:
+ - `dependencies`: External packages beyond numpy/pandas/plotting library
+ - `techniques`: Visualization techniques (twin-axes, colorbar, etc.)
+ - `patterns`: Code patterns (data-generation, iteration-over-groups, etc.)
+ - `dataprep`: Data transformations (kde, binning, correlation-matrix, etc.)
+ - `styling`: Visual style (publication-ready, alpha-blending, etc.)
+
+ ```bash
+ cat > review_impl_tags.json << 'EOF'
+ {
+ "dependencies": [],
+ "techniques": ["colorbar", "annotations"],
+ "patterns": ["data-generation"],
+ "dataprep": [],
+ "styling": ["publication-ready"]
+ }
+ EOF
+ ```
+
+ 10. **DO NOT add ai-approved or ai-rejected labels** - the workflow will add them after updating metadata.
**IMPORTANT**: Your review MUST include the "Image Description" section. A review without an image description will be considered invalid.
**IMPORTANT**: All review data (strengths, weaknesses, image_description, criteria_checklist) is saved to metadata for future regeneration. Be specific!
@@ -314,6 +336,7 @@ jobs:
image_description = None
criteria_checklist = None
verdict = None
+ impl_tags = None
if Path('review_strengths.json').exists():
try:
@@ -350,6 +373,13 @@ jobs:
except:
pass
+ if Path('review_impl_tags.json').exists():
+ try:
+ with open('review_impl_tags.json') as f:
+ impl_tags = json.load(f)
+ except:
+ pass
+
# Load existing metadata
with open(metadata_file, 'r') as f:
data = yaml.safe_load(f)
@@ -372,6 +402,10 @@ jobs:
if verdict:
data['review']['verdict'] = verdict
+ # Add impl_tags (issue #2434)
+ if impl_tags:
+ data['impl_tags'] = impl_tags
+
def str_representer(dumper, data):
if isinstance(data, str) and data.endswith('Z') and 'T' in data:
return dumper.represent_scalar('tag:yaml.org,2002:str', data, style="'")
diff --git a/.github/workflows/spec-create.yml b/.github/workflows/spec-create.yml
index bfdd4aac51..ab685b6a6d 100644
--- a/.github/workflows/spec-create.yml
+++ b/.github/workflows/spec-create.yml
@@ -117,7 +117,7 @@ jobs:
6. **Create specification files:**
- Read template: `prompts/templates/specification.md`
- Read metadata template: `prompts/templates/specification.yaml`
- - Read tagging guide: `docs/reference/tagging-system.md`
+ - Read tagging guide: `prompts/spec-tags-generator.md`
- Create directory: `plots/{specification-id}/`
- Create: `plots/{specification-id}/specification.md` (follow template structure)
- Create: `plots/{specification-id}/specification.yaml` with:
@@ -213,7 +213,7 @@ jobs:
6. **Create specification files:**
- Read template: `prompts/templates/specification.md`
- Read metadata template: `prompts/templates/specification.yaml`
- - Read tagging guide: `docs/reference/tagging-system.md`
+ - Read tagging guide: `prompts/spec-tags-generator.md`
- Create directory: `plots/{specification-id}/`
- Create: `plots/{specification-id}/specification.md` (follow template structure)
- Create: `plots/{specification-id}/specification.yaml` with:
diff --git a/CLAUDE.md b/CLAUDE.md
index 5fc7559c08..62f9151916 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -311,6 +311,14 @@ preview_html: null
# Quality
quality_score: 92
+# Implementation-level tags (describes HOW the code implements the plot)
+impl_tags:
+ dependencies: [] # External packages (scipy, sklearn, etc.)
+ techniques: [colorbar, annotations] # Visualization techniques
+ patterns: [data-generation] # Code patterns
+ dataprep: [] # Data transformations
+ styling: [publication-ready] # Visual style
+
# Review feedback (used for regeneration)
review:
# AI's visual description of the generated plot
@@ -364,8 +372,8 @@ Quality: 92/100 | Created: 2025-01-10
- **Review feedback** stored in metadata for regeneration (AI reads previous feedback to improve)
- **Extended review data**: `image_description`, `criteria_checklist`, and `verdict` for targeted fixes
- Contributors credited via `suggested` field
-- Tags are at spec level (same for all libraries)
-- Per-library metadata updated automatically by `impl-review.yml` (quality score, review feedback)
+- **Two-level tagging**: Spec-level `tags` describe WHAT is visualized (same for all libraries), impl-level `impl_tags` describe HOW code implements it (per-library)
+- Per-library metadata updated automatically by `impl-review.yml` (quality score, review feedback, impl_tags)
- `sync-postgres.yml` workflow syncs to database on push to main
- Database stores full spec content (markdown) and implementation code (Python source)
@@ -473,7 +481,7 @@ uv run python -c "from core.database import is_db_configured; print(is_db_config
- Spec content (full markdown from specification.md)
- Spec metadata (title, description, tags, structured_tags from specification.yaml)
- Implementation code (full Python source)
-- Implementation metadata (library, variant, quality score, generation info from metadata/*.yaml)
+- Implementation metadata (library, variant, quality score, impl_tags, generation info from metadata/*.yaml)
- GCS URLs for preview images
**What's in Repository** (source of truth):
@@ -512,6 +520,8 @@ The `prompts/` directory contains AI agent prompts for code generation, quality
| `quality-evaluator.md` | AI quality evaluation prompt |
| `spec-validator.md` | Validates plot request issues |
| `spec-id-generator.md` | Assigns unique spec IDs |
+| `spec-tags-generator.md` | AI rules for spec-level tag assignment |
+| `impl-tags-generator.md` | AI rules for impl-level tag assignment |
### Using Prompts
diff --git a/alembic/versions/a2f4b8c91d23_add_impl_tags.py b/alembic/versions/a2f4b8c91d23_add_impl_tags.py
new file mode 100644
index 0000000000..d57a378139
--- /dev/null
+++ b/alembic/versions/a2f4b8c91d23_add_impl_tags.py
@@ -0,0 +1,42 @@
+"""add_impl_tags
+
+Add impl_tags JSONB column to impls table for issue #2434:
+Implementation-level tags describing HOW code is implemented.
+5 dimensions: dependencies, techniques, patterns, dataprep, styling
+
+Revision ID: a2f4b8c91d23
+Revises: 6345896e2e90
+Create Date: 2026-01-07
+
+"""
+
+from typing import Sequence, Union
+
+import sqlalchemy as sa
+from sqlalchemy.dialects import postgresql
+
+from alembic import op
+
+
+# revision identifiers, used by Alembic.
+revision: str = "a2f4b8c91d23"
+down_revision: Union[str, None] = "6345896e2e90"
+branch_labels: Union[str, Sequence[str], None] = None
+depends_on: Union[str, Sequence[str], None] = None
+
+
+def upgrade() -> None:
+ """Add impl_tags JSONB column and GIN index to impls table."""
+ # Add impl_tags column (JSONB for 5 tag dimensions)
+ op.add_column("impls", sa.Column("impl_tags", postgresql.JSONB(), nullable=True))
+
+ # GIN index for fast JSONB containment/existence queries
+ # Enables efficient filtering by any impl_tags dimension:
+ # - dependencies, techniques, patterns, dataprep, styling
+ op.execute("CREATE INDEX ix_impls_impl_tags ON impls USING GIN (impl_tags)")
+
+
+def downgrade() -> None:
+ """Remove impl_tags column and GIN index from impls table."""
+ op.execute("DROP INDEX ix_impls_impl_tags")
+ op.drop_column("impls", "impl_tags")
diff --git a/api/routers/plots.py b/api/routers/plots.py
index ef62c1f34f..cf9ba3e16a 100644
--- a/api/routers/plots.py
+++ b/api/routers/plots.py
@@ -12,11 +12,12 @@
router = APIRouter(tags=["plots"])
-def _image_matches_groups(spec_id: str, library: str, groups: list[dict], spec_lookup: dict) -> bool:
+def _image_matches_groups(spec_id: str, library: str, groups: list[dict], spec_lookup: dict, impl_lookup: dict) -> bool:
"""Check if an image matches a set of filter groups."""
if spec_id not in spec_lookup:
return False
spec_tags = spec_lookup[spec_id]["tags"]
+ impl_tags = impl_lookup.get((spec_id, library), {})
for group in groups:
category = group["category"]
@@ -44,12 +45,46 @@ def _image_matches_groups(spec_id: str, library: str, groups: list[dict], spec_l
spec_features = spec_tags.get("features", [])
if not any(v in spec_features for v in values):
return False
+ # Impl-level tag filters (issue #2434)
+ elif category == "dep":
+ impl_deps = impl_tags.get("dependencies", [])
+ if not any(v in impl_deps for v in values):
+ return False
+ elif category == "tech":
+ impl_techs = impl_tags.get("techniques", [])
+ if not any(v in impl_techs for v in values):
+ return False
+ elif category == "pat":
+ impl_pats = impl_tags.get("patterns", [])
+ if not any(v in impl_pats for v in values):
+ return False
+ elif category == "prep":
+ impl_preps = impl_tags.get("dataprep", [])
+ if not any(v in impl_preps for v in values):
+ return False
+ elif category == "style":
+ impl_styles = impl_tags.get("styling", [])
+ if not any(v in impl_styles for v in values):
+ return False
return True
def _calculate_global_counts(all_specs: list) -> dict:
"""Calculate global counts for all filter categories."""
- global_counts: dict = {"lib": {}, "spec": {}, "plot": {}, "data": {}, "dom": {}, "feat": {}}
+ global_counts: dict = {
+ "lib": {},
+ "spec": {},
+ "plot": {},
+ "data": {},
+ "dom": {},
+ "feat": {},
+ # Impl-level tag counts (issue #2434)
+ "dep": {},
+ "tech": {},
+ "pat": {},
+ "prep": {},
+ "style": {},
+ }
for spec_obj in all_specs:
if not spec_obj.impls:
@@ -66,7 +101,7 @@ def _calculate_global_counts(all_specs: list) -> dict:
# Count spec ID
global_counts["spec"][spec_obj.id] = global_counts["spec"].get(spec_obj.id, 0) + 1
- # Count tags
+ # Count spec-level tags
for plot_type in spec_tags.get("plot_type", []):
global_counts["plot"][plot_type] = global_counts["plot"].get(plot_type, 0) + 1
@@ -79,6 +114,19 @@ def _calculate_global_counts(all_specs: list) -> dict:
for feature in spec_tags.get("features", []):
global_counts["feat"][feature] = global_counts["feat"].get(feature, 0) + 1
+ # Count impl-level tags (issue #2434)
+ impl_tags = impl.impl_tags or {}
+ for dep in impl_tags.get("dependencies", []):
+ global_counts["dep"][dep] = global_counts["dep"].get(dep, 0) + 1
+ for tech in impl_tags.get("techniques", []):
+ global_counts["tech"][tech] = global_counts["tech"].get(tech, 0) + 1
+ for pat in impl_tags.get("patterns", []):
+ global_counts["pat"][pat] = global_counts["pat"].get(pat, 0) + 1
+ for prep in impl_tags.get("dataprep", []):
+ global_counts["prep"][prep] = global_counts["prep"].get(prep, 0) + 1
+ for style in impl_tags.get("styling", []):
+ global_counts["style"][style] = global_counts["style"].get(style, 0) + 1
+
# Sort counts
for category in global_counts:
global_counts[category] = dict(sorted(global_counts[category].items(), key=lambda x: (-x[1], x[0])))
@@ -86,14 +134,28 @@ def _calculate_global_counts(all_specs: list) -> dict:
return global_counts
-def _calculate_contextual_counts(filtered_images: list[dict], spec_id_to_tags: dict) -> dict:
+def _calculate_contextual_counts(filtered_images: list[dict], spec_id_to_tags: dict, impl_lookup: dict) -> dict:
"""Calculate contextual counts from filtered images."""
- counts: dict = {"lib": {}, "spec": {}, "plot": {}, "data": {}, "dom": {}, "feat": {}}
+ counts: dict = {
+ "lib": {},
+ "spec": {},
+ "plot": {},
+ "data": {},
+ "dom": {},
+ "feat": {},
+ # Impl-level tag counts (issue #2434)
+ "dep": {},
+ "tech": {},
+ "pat": {},
+ "prep": {},
+ "style": {},
+ }
for img in filtered_images:
spec_id = img["spec_id"]
library = img["library"]
spec_tags = spec_id_to_tags.get(spec_id, {})
+ impl_tags = impl_lookup.get((spec_id, library), {})
# Count library
counts["lib"][library] = counts["lib"].get(library, 0) + 1
@@ -101,7 +163,7 @@ def _calculate_contextual_counts(filtered_images: list[dict], spec_id_to_tags: d
# Count spec ID
counts["spec"][spec_id] = counts["spec"].get(spec_id, 0) + 1
- # Count tags
+ # Count spec-level tags
for plot_type in spec_tags.get("plot_type", []):
counts["plot"][plot_type] = counts["plot"].get(plot_type, 0) + 1
@@ -114,6 +176,18 @@ def _calculate_contextual_counts(filtered_images: list[dict], spec_id_to_tags: d
for feature in spec_tags.get("features", []):
counts["feat"][feature] = counts["feat"].get(feature, 0) + 1
+ # Count impl-level tags (issue #2434)
+ for dep in impl_tags.get("dependencies", []):
+ counts["dep"][dep] = counts["dep"].get(dep, 0) + 1
+ for tech in impl_tags.get("techniques", []):
+ counts["tech"][tech] = counts["tech"].get(tech, 0) + 1
+ for pat in impl_tags.get("patterns", []):
+ counts["pat"][pat] = counts["pat"].get(pat, 0) + 1
+ for prep in impl_tags.get("dataprep", []):
+ counts["prep"][prep] = counts["prep"].get(prep, 0) + 1
+ for style in impl_tags.get("styling", []):
+ counts["style"][style] = counts["style"].get(style, 0) + 1
+
# Sort counts
for category in counts:
counts[category] = dict(sorted(counts[category].items(), key=lambda x: (-x[1], x[0])))
@@ -122,9 +196,20 @@ def _calculate_contextual_counts(filtered_images: list[dict], spec_id_to_tags: d
def _calculate_or_counts(
- filter_groups: list[dict], all_images: list[dict], spec_id_to_tags: dict, spec_lookup: dict
+ filter_groups: list[dict], all_images: list[dict], spec_id_to_tags: dict, spec_lookup: dict, impl_lookup: dict
) -> list[dict]:
- """Calculate OR preview counts for each filter group."""
+ """Calculate OR preview counts for each filter group.
+
+ Args:
+ filter_groups: List of filter group dictionaries defining categories and values.
+ all_images: List of image dictionaries to evaluate against the filter groups.
+ spec_id_to_tags: Mapping from specification IDs to their associated tag metadata.
+ spec_lookup: Mapping from specification IDs to full specification metadata.
+ impl_lookup: Mapping from (spec_id, library) pairs to implementation-level tags.
+
+ Returns:
+ List of dicts, one per filter group, mapping values to matching image counts.
+ """
or_counts: list[dict] = []
for group_idx, group in enumerate(filter_groups):
@@ -135,7 +220,7 @@ def _calculate_or_counts(
images_with_other_filters = [
img
for img in all_images
- if _image_matches_groups(img["spec_id"], img["library"], other_groups, spec_lookup)
+ if _image_matches_groups(img["spec_id"], img["library"], other_groups, spec_lookup, impl_lookup)
]
# Count each value for this group's category
@@ -146,6 +231,7 @@ def _calculate_or_counts(
spec_id = img["spec_id"]
library = img["library"]
spec_tags = spec_id_to_tags.get(spec_id, {})
+ impl_tags = impl_lookup.get((spec_id, library), {})
if category == "lib":
group_counts[library] = group_counts.get(library, 0) + 1
@@ -163,6 +249,22 @@ def _calculate_or_counts(
elif category == "feat":
for v in spec_tags.get("features", []):
group_counts[v] = group_counts.get(v, 0) + 1
+ # Impl-level tag counts (issue #2434)
+ elif category == "dep":
+ for v in impl_tags.get("dependencies", []):
+ group_counts[v] = group_counts.get(v, 0) + 1
+ elif category == "tech":
+ for v in impl_tags.get("techniques", []):
+ group_counts[v] = group_counts.get(v, 0) + 1
+ elif category == "pat":
+ for v in impl_tags.get("patterns", []):
+ group_counts[v] = group_counts.get(v, 0) + 1
+ elif category == "prep":
+ for v in impl_tags.get("dataprep", []):
+ group_counts[v] = group_counts.get(v, 0) + 1
+ elif category == "style":
+ for v in impl_tags.get("styling", []):
+ group_counts[v] = group_counts.get(v, 0) + 1
# Sort by count descending
group_counts = dict(sorted(group_counts.items(), key=lambda x: (-x[1], x[0])))
@@ -184,8 +286,23 @@ def _parse_filter_groups(request: Request) -> list[dict]:
filter_groups: list[dict] = []
query_params = request.query_params.multi_items()
+ # Valid filter categories (spec-level and impl-level)
+ valid_categories = (
+ "lib",
+ "spec",
+ "plot",
+ "data",
+ "dom",
+ "feat",
+ # Impl-level categories (issue #2434)
+ "dep",
+ "tech",
+ "pat",
+ "prep",
+ "style",
+ )
for key, value in query_params:
- if key in ("lib", "spec", "plot", "data", "dom", "feat") and value:
+ if key in valid_categories and value:
values = [v.strip() for v in value.split(",") if v.strip()]
if values:
filter_groups.append({"category": key, "values": values})
@@ -227,6 +344,26 @@ def _build_spec_lookup(all_specs: list) -> dict:
return spec_lookup
+def _build_impl_lookup(all_specs: list) -> dict:
+ """
+ Build lookup dictionary of (spec_id, library_id) -> impl_tags.
+
+ Args:
+ all_specs: List of Spec objects
+
+ Returns:
+ Dict mapping (spec_id, library_id) tuple to impl_tags dict
+ """
+ impl_lookup: dict = {}
+ for spec_obj in all_specs:
+ if not spec_obj.impls:
+ continue
+ for impl in spec_obj.impls:
+ if impl.preview_url:
+ impl_lookup[(spec_obj.id, impl.library_id)] = impl.impl_tags or {}
+ return impl_lookup
+
+
def _collect_all_images(all_specs: list) -> list[dict]:
"""
Collect all plot images from specs with implementations.
@@ -256,7 +393,9 @@ def _collect_all_images(all_specs: list) -> list[dict]:
return all_images
-def _filter_images(all_images: list[dict], filter_groups: list[dict], spec_lookup: dict) -> list[dict]:
+def _filter_images(
+ all_images: list[dict], filter_groups: list[dict], spec_lookup: dict, impl_lookup: dict
+) -> list[dict]:
"""
Filter images based on filter groups.
@@ -264,12 +403,15 @@ def _filter_images(all_images: list[dict], filter_groups: list[dict], spec_looku
all_images: List of all image dicts
filter_groups: List of filter group dicts
spec_lookup: Spec lookup dictionary
+ impl_lookup: Impl tags lookup dictionary
Returns:
Filtered list of image dicts
"""
return [
- img for img in all_images if _image_matches_groups(img["spec_id"], img["library"], filter_groups, spec_lookup)
+ img
+ for img in all_images
+ if _image_matches_groups(img["spec_id"], img["library"], filter_groups, spec_lookup, impl_lookup)
]
@@ -290,6 +432,11 @@ async def get_filtered_plots(request: Request, db: AsyncSession = Depends(requir
- data: Data type tag (numeric, categorical, etc.)
- dom: Domain tag (statistics, finance, etc.)
- feat: Features tag (basic, 3d, interactive, etc.)
+ - dep: Impl dependencies filter (scipy, sklearn, etc.)
+ - tech: Impl techniques filter (twin-axes, colorbar, etc.)
+ - pat: Impl patterns filter (data-generation, etc.)
+ - prep: Impl dataprep filter (kde, binning, etc.)
+ - style: Impl styling filter (minimal-chrome, etc.)
Returns:
FilteredPlotsResponse with images, counts, and orCounts per group
@@ -309,16 +456,17 @@ async def get_filtered_plots(request: Request, db: AsyncSession = Depends(requir
# Build data structures
spec_lookup = _build_spec_lookup(all_specs)
+ impl_lookup = _build_impl_lookup(all_specs)
all_images = _collect_all_images(all_specs)
spec_id_to_tags = {spec_id: spec_data["tags"] for spec_id, spec_data in spec_lookup.items()}
# Filter images
- filtered_images = _filter_images(all_images, filter_groups, spec_lookup)
+ filtered_images = _filter_images(all_images, filter_groups, spec_lookup, impl_lookup)
# Calculate counts
global_counts = _calculate_global_counts(all_specs)
- counts = _calculate_contextual_counts(filtered_images, spec_id_to_tags)
- or_counts = _calculate_or_counts(filter_groups, all_images, spec_id_to_tags, spec_lookup)
+ counts = _calculate_contextual_counts(filtered_images, spec_id_to_tags, impl_lookup)
+ or_counts = _calculate_or_counts(filter_groups, all_images, spec_id_to_tags, spec_lookup, impl_lookup)
# Build and cache response
result = FilteredPlotsResponse(
diff --git a/api/schemas.py b/api/schemas.py
index 236c42a92d..96ea23adde 100644
--- a/api/schemas.py
+++ b/api/schemas.py
@@ -29,6 +29,8 @@ class ImplementationResponse(BaseModel):
review_image_description: Optional[str] = None
review_criteria_checklist: Optional[dict] = None
review_verdict: Optional[str] = None
+ # Implementation-level tags (issue #2434)
+ impl_tags: Optional[dict] = None
class SpecDetailResponse(BaseModel):
@@ -72,12 +74,19 @@ class ImageResponse(BaseModel):
class FilterCountsResponse(BaseModel):
"""Counts for filter categories."""
+ # Spec-level filters
lib: dict[str, int] = {}
spec: dict[str, int] = {}
plot: dict[str, int] = {}
data: dict[str, int] = {}
dom: dict[str, int] = {}
feat: dict[str, int] = {}
+ # Impl-level filters (issue #2434)
+ dep: dict[str, int] = {}
+ tech: dict[str, int] = {}
+ pat: dict[str, int] = {}
+ prep: dict[str, int] = {}
+ style: dict[str, int] = {}
class FilteredPlotsResponse(BaseModel):
diff --git a/app/src/components/FilterBar.tsx b/app/src/components/FilterBar.tsx
index 789982f16e..624ed00928 100644
--- a/app/src/components/FilterBar.tsx
+++ b/app/src/components/FilterBar.tsx
@@ -19,7 +19,7 @@ import useMediaQuery from '@mui/material/useMediaQuery';
import { useTheme } from '@mui/material/styles';
import type { FilterCategory, ActiveFilters, FilterCounts } from '../types';
-import { FILTER_LABELS, FILTER_CATEGORIES } from '../types';
+import { FILTER_LABELS, FILTER_TOOLTIPS, FILTER_CATEGORIES } from '../types';
import type { ImageSize } from '../constants';
import { getAvailableValues, getAvailableValuesForGroup, getSearchResults } from '../utils';
@@ -653,26 +653,32 @@ export function FilterBar({
// Calculate actual index among visible items
const visibleIdx = dropdownItems.findIndex((item) => item.type === 'category' && item.category === category);
return (
-
+
+
);
})
: // Show search results or category values
diff --git a/app/src/hooks/useAnalytics.ts b/app/src/hooks/useAnalytics.ts
index b5e20a6e0d..39e4dc46cf 100644
--- a/app/src/hooks/useAnalytics.ts
+++ b/app/src/hooks/useAnalytics.ts
@@ -1,10 +1,13 @@
-import { useCallback, useRef, useMemo } from 'react';
+import { useCallback, useRef, useMemo } from "react";
interface EventProps {
[key: string]: string | undefined;
}
-function debounce void>(fn: T, delay: number): T {
+function debounce void>(
+ fn: T,
+ delay: number,
+): T {
let timeoutId: ReturnType;
return ((...args: Parameters) => {
clearTimeout(timeoutId);
@@ -20,8 +23,20 @@ function buildPlausibleUrl(): string {
const params = new URLSearchParams(window.location.search);
const segments: string[] = [];
- // Definierte Reihenfolge der Filter-Kategorien
- const orderedKeys = ['lib', 'spec', 'plot', 'data', 'dom', 'feat'];
+ // Definierte Reihenfolge der Filter-Kategorien (inkl. impl-level tags)
+ const orderedKeys = [
+ "lib",
+ "spec",
+ "plot",
+ "data",
+ "dom",
+ "feat",
+ "dep",
+ "tech",
+ "pat",
+ "prep",
+ "style",
+ ];
for (const key of orderedKeys) {
// getAll() für mehrfache Params mit gleichem Key (AND-Logik)
@@ -34,12 +49,15 @@ function buildPlausibleUrl(): string {
}
}
- return segments.length > 0 ? `https://pyplots.ai/${segments.join('/')}` : 'https://pyplots.ai/';
+ return segments.length > 0
+ ? `https://pyplots.ai/${segments.join("/")}`
+ : "https://pyplots.ai/";
}
export function useAnalytics() {
- const lastPageviewRef = useRef('');
- const isProduction = typeof window !== 'undefined' && window.location.hostname === 'pyplots.ai';
+ const lastPageviewRef = useRef("");
+ const isProduction =
+ typeof window !== "undefined" && window.location.hostname === "pyplots.ai";
const sendPageview = useCallback(
(urlOverride?: string) => {
@@ -59,22 +77,32 @@ export function useAnalytics() {
if (url === lastPageviewRef.current) return;
lastPageviewRef.current = url;
- window.plausible?.('pageview', { url });
+ window.plausible?.("pageview", { url });
},
- [isProduction]
+ [isProduction],
);
- const trackPageview = useMemo(() => debounce(sendPageview, 150), [sendPageview]);
+ const trackPageview = useMemo(
+ () => debounce(sendPageview, 150),
+ [sendPageview],
+ );
const trackEvent = useCallback(
(name: string, props?: EventProps) => {
if (!isProduction) return;
const cleanProps = props
- ? Object.fromEntries(Object.entries(props).filter(([, v]) => v !== undefined))
+ ? Object.fromEntries(
+ Object.entries(props).filter(([, v]) => v !== undefined),
+ )
: undefined;
- window.plausible?.(name, cleanProps ? { props: cleanProps as Record } : undefined);
+ window.plausible?.(
+ name,
+ cleanProps
+ ? { props: cleanProps as Record }
+ : undefined,
+ );
},
- [isProduction]
+ [isProduction],
);
return { trackPageview, trackEvent };
diff --git a/app/src/types/index.ts b/app/src/types/index.ts
index 72c4c56873..2ea68db8b7 100644
--- a/app/src/types/index.ts
+++ b/app/src/types/index.ts
@@ -10,20 +10,71 @@ export interface PlotImage {
}
// Filter system types
-export type FilterCategory = 'lib' | 'spec' | 'plot' | 'data' | 'dom' | 'feat';
+// Spec-level categories describe WHAT is visualized
+// Impl-level categories describe HOW the code implements it (issue #2434)
+export type FilterCategory =
+ | 'lib'
+ | 'spec'
+ | 'plot'
+ | 'data'
+ | 'dom'
+ | 'feat'
+ | 'dep'
+ | 'tech'
+ | 'pat'
+ | 'prep'
+ | 'style';
// Display labels for filter categories
export const FILTER_LABELS: Record = {
+ // Spec-level
lib: 'library',
spec: 'example',
plot: 'type',
data: 'data',
dom: 'field',
feat: 'extras',
+ // Impl-level (issue #2434)
+ dep: 'uses',
+ tech: 'technique',
+ pat: 'pattern',
+ prep: 'dataprep',
+ style: 'style',
+};
+
+// Tooltip descriptions for filter categories
+export const FILTER_TOOLTIPS: Record = {
+ // Spec-level: WHAT is visualized
+ lib: 'python plotting library',
+ spec: 'specific plot example by identifier',
+ plot: 'type of visualization or chart',
+ data: 'structure of the input data',
+ dom: 'application domain or field',
+ feat: 'special plot features and capabilities',
+ // Impl-level: HOW the code implements it
+ dep: 'external packages beyond the plotting library',
+ tech: 'advanced visualization techniques in the code',
+ pat: 'code structure and organization patterns',
+ prep: 'statistical or mathematical data transformations',
+ style: 'visual styling choices that differ from defaults',
};
// All filter categories in display order
-export const FILTER_CATEGORIES: FilterCategory[] = ['lib', 'spec', 'plot', 'data', 'dom', 'feat'];
+export const FILTER_CATEGORIES: FilterCategory[] = [
+ // Spec-level
+ 'lib',
+ 'spec',
+ 'plot',
+ 'data',
+ 'dom',
+ 'feat',
+ // Impl-level (issue #2434)
+ 'dep',
+ 'tech',
+ 'pat',
+ 'prep',
+ 'style',
+];
// A single filter group (one chip) - values within are OR-linked
export interface FilterGroup {
diff --git a/automation/scripts/sync_to_postgres.py b/automation/scripts/sync_to_postgres.py
index 83ea1174e9..d59e7968bb 100644
--- a/automation/scripts/sync_to_postgres.py
+++ b/automation/scripts/sync_to_postgres.py
@@ -288,6 +288,8 @@ def scan_plot_directory(plot_dir: Path) -> dict | None:
"review_image_description": review.get("image_description"),
"review_criteria_checklist": review.get("criteria_checklist"),
"review_verdict": review.get("verdict"),
+ # Implementation-level tags (issue #2434)
+ "impl_tags": impl_meta.get("impl_tags"),
}
)
@@ -381,6 +383,10 @@ def sync_to_database(session: Session, plots: list[dict]) -> dict:
if impl.get("review_verdict") is not None:
update_set["review_verdict"] = impl["review_verdict"]
+ # Implementation-level tags (issue #2434)
+ if impl.get("impl_tags") is not None:
+ update_set["impl_tags"] = impl["impl_tags"]
+
stmt = insert(Impl).values(**impl).on_conflict_do_update(constraint="uq_impl", set_=update_set)
session.execute(stmt)
stats["impls_synced"] += 1
diff --git a/core/database/connection.py b/core/database/connection.py
index d95b6f22b9..05b51fb342 100644
--- a/core/database/connection.py
+++ b/core/database/connection.py
@@ -71,7 +71,7 @@ def get_conn():
def _create_direct_engine():
- """Create engine using direct DATABASE_URL connection."""
+ """Create sync engine using direct DATABASE_URL connection."""
url = DATABASE_URL
# Ensure async driver
@@ -100,25 +100,50 @@ def _create_direct_engine():
return engine
+def _create_direct_engine_sync():
+ """Create sync engine using direct DATABASE_URL connection (for sync scripts)."""
+ from sqlalchemy import create_engine
+
+ url = DATABASE_URL
+
+ # Use pg8000 sync driver (already installed for Cloud SQL)
+ if url.startswith("postgresql+asyncpg://"):
+ url = url.replace("postgresql+asyncpg://", "postgresql+pg8000://")
+ elif url.startswith("postgresql://"):
+ url = url.replace("postgresql://", "postgresql+pg8000://")
+ elif url.startswith("postgres://"):
+ url = url.replace("postgres://", "postgresql+pg8000://")
+
+ engine_kwargs = {"echo": ENVIRONMENT == "development", "pool_size": 5, "max_overflow": 10, "pool_pre_ping": True}
+
+ engine = create_engine(url, **engine_kwargs)
+
+ # Log without exposing password
+ safe_url = url.split("@")[-1] if "@" in url else "local"
+ logger.info(f"Created direct sync database engine: {safe_url}")
+ return engine
+
+
def init_db_sync() -> None:
"""
- Initialize sync database connection (for scripts in GitHub Actions).
+ Initialize sync database connection (for scripts like sync_to_postgres.py).
- Uses pg8000 sync driver with Cloud SQL Connector to avoid event loop issues.
+ Uses sync drivers for both local (psycopg2) and Cloud SQL (pg8000).
"""
global engine, _sync_session_factory
- if engine is not None:
+ if _sync_session_factory is not None:
return # Already initialized
+ from sqlalchemy.orm import sessionmaker
+
if DATABASE_URL:
- # For DATABASE_URL, create async engine (used locally)
- engine = _create_direct_engine()
+ # Use sync engine for local development
+ engine = _create_direct_engine_sync()
+ _sync_session_factory = sessionmaker(engine, expire_on_commit=False)
elif INSTANCE_CONNECTION_NAME:
# Use sync pg8000 driver for Cloud SQL Connector
engine = _create_cloud_sql_engine_sync()
- from sqlalchemy.orm import sessionmaker
-
_sync_session_factory = sessionmaker(engine, expire_on_commit=False)
else:
logger.warning("No database configuration found - running without database")
diff --git a/core/database/models.py b/core/database/models.py
index 475d5aeb57..2671722e87 100644
--- a/core/database/models.py
+++ b/core/database/models.py
@@ -105,6 +105,11 @@ class Impl(Base):
review_criteria_checklist: Mapped[Optional[dict]] = mapped_column(UniversalJSON, nullable=True) # Detailed scoring
review_verdict: Mapped[Optional[str]] = mapped_column(String(20), nullable=True) # "APPROVED" or "REJECTED"
+ # Implementation-level tags (from impl-review)
+ impl_tags: Mapped[Optional[dict]] = mapped_column(
+ UniversalJSON, nullable=True
+ ) # {dependencies, techniques, patterns, dataprep, styling}
+
# System
updated_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now(), onupdate=func.now())
diff --git a/docs/backfill-impl-tags-checklist.md b/docs/backfill-impl-tags-checklist.md
new file mode 100644
index 0000000000..e94a5e8386
--- /dev/null
+++ b/docs/backfill-impl-tags-checklist.md
@@ -0,0 +1,2001 @@
+# Impl-Tags Backfill Checklist
+
+Track progress of adding `impl_tags` to all metadata files.
+
+## Progress
+
+Total: 0/1476 completed
+
+---
+
+## Implementations
+
+### alluvial-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### andrews-curves
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### arc-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### area-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### area-stacked-percent
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### area-stacked
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### band-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-3d
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+
+### bar-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-categorical
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-diverging
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-error
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-feature-importance
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-grouped
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-horizontal
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-permutation-importance
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-sorted
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-stacked-percent
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bar-stacked
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bland-altman-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+- [ ] seaborn
+
+### box-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### box-grouped
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### box-horizontal
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### box-notched
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bubble-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bubble-packed
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bullet-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### bump-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### calibration-curve
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### candlestick-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### candlestick-volume
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] seaborn
+
+### cat-box-strip
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### cat-strip
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### chernoff-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### chord-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+
+### choropleth-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### circlepacking-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+
+### circos-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] seaborn
+
+### confusion-matrix
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### contour-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] seaborn
+
+### contour-decision-boundary
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### contour-density
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### contour-filled
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### count-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### dendrogram-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### density-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### donut-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+- [ ] seaborn
+
+### donut-nested
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### dumbbell-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### ecdf-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### elbow-curve
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### errorbar-asymmetric
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### errorbar-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### facet-grid
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### forest-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### funnel-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### gain-curve
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### gantt-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### gauge-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### heatmap-annotated
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### heatmap-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### heatmap-calendar
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### heatmap-clustered
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### heatmap-correlation
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### hexbin-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-2d
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-cumulative
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-density
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-kde
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-overlapping
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-stacked
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### histogram-stepwise
+
+- [ ] altair
+- [ ] bokeh
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### hive-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### horizon-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### icicle-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### learning-curve-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### lift-curve
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-annotated-events
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-confidence
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-filled
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-interactive
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] plotly
+- [ ] pygal
+
+### line-loss-training
+
+- [ ] altair
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-markers
+
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-multi
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-realtime
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] plotly
+- [ ] pygal
+
+### line-stepwise
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-styled
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-timeseries-rolling
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### line-timeseries
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### lollipop-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### manhattan-gwas
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### marimekko-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### network-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+- [ ] seaborn
+
+### network-directed
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] seaborn
+
+### network-force-directed
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### parallel-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### parallel-categories-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### parliament-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] seaborn
+
+### pdp-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### phase-diagram
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### pie-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+
+### pie-drilldown
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] plotly
+- [ ] pygal
+
+### pie-exploded
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### point-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### polar-bar
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+
+### polar-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### polar-line
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+- [ ] seaborn
+
+### polar-scatter
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] seaborn
+
+### precision-recall
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### pyramid-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### qq-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### quiver-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### radar-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### radar-multi
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### raincloud-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### residual-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+
+### residual-plot
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### ridgeline-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### roc-curve
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### rose-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### rug-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### sankey-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] seaborn
+
+### scatter-3d
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+
+### scatter-animated-controls
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] plotly
+- [ ] pygal
+
+### scatter-annotated
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-categorical
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-color-mapped
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-marginal
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-matrix
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-regression-linear
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-regression-lowess
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### scatter-regression-polynomial
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### shap-summary
+
+- [ ] altair
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] seaborn
+
+### silhouette-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### slider-control-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+
+### slope-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### span-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### sparkline-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### spectrogram-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### spectrum-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### stem-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] pygal
+- [ ] seaborn
+
+### step-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### streamgraph-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### streamline-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### strip-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### subplot-grid-custom
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] seaborn
+
+### subplot-grid
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### subplot-mosaic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### sudoku-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### sunburst-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] seaborn
+
+### surface-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+
+### survival-kaplan-meier
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### swarm-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### ternary-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### timeline-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### timeseries-decomposition
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### tree-phylogenetic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### treemap-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### venn-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### violin-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### violin-box
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### violin-split
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### volcano-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### waffle-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### waterfall-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+
+### windrose-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
+### wireframe-3d-basic
+
+- [ ] bokeh
+- [ ] highcharts
+- [ ] matplotlib
+- [ ] plotly
+
+### wordcloud-basic
+
+- [ ] altair
+- [ ] bokeh
+- [ ] highcharts
+- [ ] letsplot
+- [ ] matplotlib
+- [ ] plotly
+- [ ] plotnine
+- [ ] pygal
+- [ ] seaborn
+
diff --git a/docs/reference/api.md b/docs/reference/api.md
index a1bb7d1062..474556d596 100644
--- a/docs/reference/api.md
+++ b/docs/reference/api.md
@@ -160,6 +160,8 @@ The pyplots API is a **FastAPI-based REST API** serving plot data to the fronten
**Purpose**: Filter plots with faceted counts for all filter categories
**Query Parameters** (combinable):
+
+*Spec-level filters (WHAT is visualized):*
- `lib` - Library filter (matplotlib, seaborn, etc.)
- `spec` - Spec ID filter
- `plot` - Plot type tag filter
@@ -167,6 +169,13 @@ The pyplots API is a **FastAPI-based REST API** serving plot data to the fronten
- `dom` - Domain tag filter
- `feat` - Features tag filter
+*Impl-level filters (HOW it is implemented):*
+- `dep` - Dependencies filter (scipy, sklearn, etc.)
+- `tech` - Techniques filter (twin-axes, annotations, etc.)
+- `pat` - Patterns filter (data-generation, groupby-aggregation, etc.)
+- `prep` - Dataprep filter (kde, binning, regression, etc.)
+- `style` - Styling filter (minimal-chrome, alpha-blending, etc.)
+
**Filter Logic**:
- Comma-separated values: OR (`lib=matplotlib,seaborn`)
- Multiple params same name: AND (`lib=matplotlib&lib=seaborn`)
@@ -192,7 +201,12 @@ The pyplots API is a **FastAPI-based REST API** serving plot data to the fronten
"plot": {"scatter": 10},
"data": {"numeric": 15},
"dom": {"statistics": 8},
- "feat": {"basic": 12}
+ "feat": {"basic": 12},
+ "dep": {"scipy": 3},
+ "tech": {"annotations": 5},
+ "pat": {"data-generation": 8},
+ "prep": {"kde": 2},
+ "style": {"alpha-blending": 4}
},
"globalCounts": {...},
"orCounts": [...]
diff --git a/docs/reference/plausible.md b/docs/reference/plausible.md
index f542308d1b..3d9d361706 100644
--- a/docs/reference/plausible.md
+++ b/docs/reference/plausible.md
@@ -23,7 +23,7 @@ Filters create dynamic URLs with the following format:
https://pyplots.ai/{category}/{value}/{category}/{value}/...
```
-**Ordered categories**: `lib`, `spec`, `plot`, `data`, `dom`, `feat`
+**Ordered categories**: `lib`, `spec`, `plot`, `data`, `dom`, `feat`, `dep`, `tech`, `pat`, `prep`, `style`
**Examples**:
- `/?lib=matplotlib` → `https://pyplots.ai/lib/matplotlib`
@@ -213,17 +213,23 @@ To see event properties in Plausible dashboard, you **MUST** register them as cu
| `method` | Action method (card, image, tab, click, space, doubletap) | `copy_code`, `random` |
| `page` | Page context (home, catalog, spec_overview, spec_detail) | `copy_code`, `download_image`, `og_image_view` |
| `platform` | Bot/platform name (twitter, whatsapp, teams, etc.) | `og_image_view` |
-| `category` | Filter category (lib, plot, dom, feat, data, spec) | `search`, `random`, `filter_remove` |
+| `category` | Filter category (lib, spec, plot, data, dom, feat, dep, tech, pat, prep, style) | `search`, `random`, `filter_remove` |
| `value` | Filter value | `random`, `filter_remove` |
| `query` | Search query text | `search`, `search_no_results` |
| `destination` | External link target (linkedin, github, stats) | `external_link` |
| `tab` | Tab name (code, specification, implementation, quality) | `tab_click` |
| `size` | Grid size (normal, compact) | `toggle_grid_size` |
| `filter_lib` | Library filter value (for og:image) | `og_image_view` |
-| `filter_dom` | Domain filter value (for og:image) | `og_image_view` |
+| `filter_spec` | Specification filter value (for og:image) | `og_image_view` |
| `filter_plot` | Plot type filter value (for og:image) | `og_image_view` |
-| `filter_feat` | Features filter value (for og:image) | `og_image_view` |
| `filter_data` | Data type filter value (for og:image) | `og_image_view` |
+| `filter_dom` | Domain filter value (for og:image) | `og_image_view` |
+| `filter_feat` | Features filter value (for og:image) | `og_image_view` |
+| `filter_dep` | Dependencies filter value (for og:image) | `og_image_view` |
+| `filter_tech` | Techniques filter value (for og:image) | `og_image_view` |
+| `filter_pat` | Patterns filter value (for og:image) | `og_image_view` |
+| `filter_prep` | Dataprep filter value (for og:image) | `og_image_view` |
+| `filter_style` | Styling filter value (for og:image) | `og_image_view` |
### Goals Configuration
@@ -378,12 +384,20 @@ unknown
### `category` Values
```
+# Spec-level (WHAT is visualized)
lib # library filter
+spec # specification filter
plot # plot_type filter
+data # data_type filter
dom # domain filter
feat # features filter
-data # data_type filter
-spec # specification filter
+
+# Impl-level (HOW it is implemented)
+dep # dependencies filter
+tech # techniques filter
+pat # patterns filter
+prep # dataprep filter
+style # styling filter
```
### `tab` Values
diff --git a/docs/reference/tagging-system.md b/docs/reference/tagging-system.md
index 02bc077d75..24b67939dc 100644
--- a/docs/reference/tagging-system.md
+++ b/docs/reference/tagging-system.md
@@ -1,130 +1,207 @@
# Tagging System
-A 4-dimensional tagging system for plot specifications. Tags are assigned by the spec-create workflow and help users find plots by type, data, domain, and features.
+pyplots uses a two-level tagging system:
+- **Spec-Level Tags** (4 dimensions) - describe WHAT is visualized
+- **Impl-Level Tags** (5 dimensions) - describe HOW it is implemented
---
-## The 4 Tag Dimensions
+## Naming Convention
-### 1. plot_type - "What is being visualized?"
-
-**Purpose:** Describes the visual form and structure. Answers: "What kind of chart is this?"
-
-**Principle:** Use established data visualization vocabulary. If a plot type has a known name, use it. Combine multiple tags when applicable.
-
-**Typical values:**
-- Basic shapes: `scatter`, `line`, `bar`, `pie`, `area`
-- Distributions: `histogram`, `density`, `box`, `violin`, `strip`, `swarm`
-- Matrices: `heatmap`, `contour`, `hexbin`
-- Hierarchies: `treemap`, `sunburst`, `dendrogram`, `icicle`
-- Networks: `network`, `chord`, `arc`, `sankey`
-- Specialized: `candlestick`, `gauge`, `funnel`, `waterfall`, `radar`
-
-**How to derive:** Ask yourself: "How would a data visualization expert name this plot?" Use terminology from matplotlib/seaborn/plotly documentation.
+**For ALL tags (both levels):**
+- All lowercase
+- Hyphens for multi-word: `color-mapped`, `twin-axes`, `time-series`
+- No underscores, no spaces
+- Prefer established terms
---
-### 2. data_type - "What data is being visualized?"
+## Part 1: Spec-Level Tags
-**Purpose:** Describes the structure and type of input data. Answers: "What kind of data does this plot need?"
+Spec-Level Tags are assigned during specification creation and apply to ALL library implementations of a plot.
-**Principle:** Focus on logical data structure, not technical format. A user wanting to "visualize time series" should find this plot.
+Stored in: `plots/{spec-id}/specification.yaml`
-**Typical values:**
-- Numbers: `numeric`, `continuous`, `discrete`
-- Categories: `categorical`, `ordinal`
-- Time: `timeseries`, `datetime`
-- Structure: `hierarchical`, `network`, `relational`
-- Space: `geospatial`, `spatial`
-- Text: `text`, `frequency`
+### The 4 Spec Tag Dimensions
-**How to derive:** Ask yourself: "If someone has this type of data, would they search for this plot?" Think about the typical use case.
+#### 1. plot_type - "What is visualized?"
----
+Describes the visual form and structure of the plot.
-### 3. domain - "Where is it used?"
+**Typical Values:**
+- **Basic Forms:** `scatter`, `line`, `bar`, `pie`, `area`, `point`
+- **Distributions:** `histogram`, `density`, `box`, `violin`, `strip`, `swarm`
+- **Matrices:** `heatmap`, `contour`, `hexbin`
+- **Hierarchies:** `treemap`, `sunburst`, `dendrogram`, `icicle`
+- **Networks:** `network`, `chord`, `arc`, `sankey`, `alluvial`
+- **Specialized:** `candlestick`, `gauge`, `funnel`, `waterfall`, `radar`
-**Purpose:** Describes typical application areas. Answers: "In which industry/discipline is this plot commonly used?"
+#### 2. data_type - "What data is visualized?"
-**Principle:** `general` is the default for universally applicable plots. Use specific domains only when the plot is particularly established there.
+Describes the structure and nature of the input data.
-**Typical values:**
-- Universal: `general`
-- Science: `statistics`, `science`, `research`
-- Business: `business`, `finance`, `marketing`
-- Technical: `engineering`, `technology`
-- Other: `healthcare`, `education`, `energy`, `environment`
+**Typical Values:**
+- **Numbers:** `numeric`, `continuous`, `discrete`
+- **Categories:** `categorical`, `ordinal`
+- **Time:** `timeseries`, `datetime`
+- **Structure:** `hierarchical`, `network`, `relational`
+- **Space:** `geospatial`, `spatial`
-**How to derive:** Ask yourself: "Is there an industry where this plot type is particularly common?" Candlestick → finance. Forest plot → healthcare/research. If unclear → `general`.
+#### 3. domain - "Where is it used?"
----
+Describes typical application areas.
-### 4. features - "What are special characteristics?"
+**Typical Values:**
+- **Universal:** `general`
+- **Science:** `statistics`, `science`, `research`
+- **Business:** `business`, `finance`, `marketing`
+- **Technology:** `engineering`, `technology`
+- **Other:** `healthcare`, `education`, `machine-learning`
-**Purpose:** Describes variants, modifications, and special attributes. Answers: "What distinguishes this variant from the basic version?"
+#### 4. features - "What are special properties?"
-**Principle:** Describe what makes the plot SPECIAL. Multiple tags allowed. Consider what a user would search for.
+Describes variants and special attributes.
-**Typical values:**
-- Complexity: `basic`, `advanced`
-- Layout: `grouped`, `stacked`, `horizontal`, `multi`
-- Dimensions: `2d`, `3d`
-- Interaction: `interactive`, `animated`, `static`
-- Function: `comparison`, `distribution`, `correlation`, `ranking`
-- Display: `annotated`, `color-mapped`, `proportional`
+**Typical Values:**
+- **Complexity:** `basic`, `advanced`
+- **Layout:** `grouped`, `stacked`, `horizontal`, `multi`
+- **Dimensions:** `2d`, `3d`
+- **Interaction:** `interactive`, `animated`
+- **Function:** `comparison`, `distribution`, `correlation`
-**How to derive:** Ask yourself: "What adjectives describe this plot?" and "What would someone type into a search engine to find exactly this variant?"
-
----
-
-## Example
-
-**For `sankey-basic`:**
+### Spec Tag Example
```yaml
+# plots/scatter-basic/specification.yaml
tags:
plot_type:
- - sankey # Established name
- - flow # Alternative term
+ - scatter
data_type:
- - categorical # Nodes are categories
- - numeric # Flows have values
+ - numeric
+ - continuous
domain:
- - general # Universally applicable
- - business # Common for process analysis
- - energy # Classic for energy flows
+ - statistics
+ - general
features:
- - basic # Base variant
- - flow-visualization
- - proportional # Width shows quantity
+ - basic
+ - 2d
+ - correlation
```
---
-## Format in specification.yaml
+## Part 2: Impl-Level Tags
+
+Impl-Level Tags are assigned during implementation review and vary PER LIBRARY.
+
+Stored in: `plots/{spec-id}/metadata/{library}.yaml`
+
+### The 5 Impl Tag Dimensions
+
+#### 1. dependencies - "Which external packages?"
+
+External libraries beyond the main plotting library.
+
+**Typical Values:**
+`scipy`, `sklearn`, `statsmodels`, `networkx`, `selenium`, `pillow`, `geopandas`, `shapely`, `wordcloud`
+
+**Rules:**
+- Only tag when library is actually imported
+- Do NOT tag numpy, pandas, and main plotting library
+
+#### 2. techniques - "Which visualization techniques?"
+
+Specific visualization and coding techniques.
+
+**Typical Values:**
+`twin-axes`, `manual-ticks`, `annotations`, `colorbar`, `subplots`, `faceting`, `layer-composition`, `custom-legend`, `inset-axes`, `polar-projection`, `3d-projection`, `bezier-curves`, `patches`, `hover-tooltips`, `html-export`
+
+#### 3. patterns - "Which code structure patterns?"
+
+Coding patterns and data organization.
+
+**Typical Values:**
+`data-generation`, `dataset-loading`, `wide-to-long`, `long-to-wide`, `groupby-aggregation`, `iteration-over-groups`, `matrix-construction`, `columndatasource`, `explicit-figure`
+
+#### 4. dataprep - "Which data transformations?"
+
+Statistical or mathematical transformations.
+
+**Typical Values:**
+`hierarchical-clustering`, `kde`, `binning`, `normalization`, `correlation-matrix`, `cumulative-sum`, `time-series`, `interpolation`, `rolling-window`, `pca`, `regression`
+
+#### 5. styling - "Which visual style?"
+
+Distinctive visual/aesthetic choices that deviate from defaults.
+
+**Typical Values:**
+`minimal-chrome`, `custom-colormap`, `alpha-blending`, `edge-highlighting`, `gradient-fill`, `grid-styling`, `dark-theme`
+
+**Note:** `custom-colormap` is only for continuous color scales (cmap=), not manual color definitions.
+
+### Impl Tag Example
```yaml
-tags:
- plot_type:
- - {primary type}
- - {secondary type if applicable}
- data_type:
- - {primary data type}
- - {secondary if applicable}
- domain:
- - general # Always include if universally applicable
- - {specific domain if applicable}
- features:
- - basic # Or specific features
- - {additional features}
+# plots/chord-basic/metadata/matplotlib.yaml
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
```
---
+## Comparison: Spec vs Impl Tags
+
+| Aspect | Spec-Level Tags | Impl-Level Tags |
+|--------|-----------------|-----------------|
+| **Describes** | WHAT is visualized | HOW it is implemented |
+| **Storage Location** | `specification.yaml` | `metadata/{library}.yaml` |
+| **Applies to** | All 9 libraries | Only this library |
+| **Assigned by** | `spec-create.yml` | `impl-review.yml` |
+| **Dimensions** | 4 (plot_type, data_type, domain, features) | 5 (dependencies, techniques, patterns, dataprep, styling) |
+| **Example** | "This is a scatter plot" | "This code uses twin-axes and scipy" |
+
+---
+
+## Use Cases
+
+### Spec-Level Tags
+- "Show all scatter plots" → `plot_type: scatter`
+- "Plots for finance data" → `domain: finance`
+- "3D visualizations" → `features: 3d`
+
+### Impl-Level Tags
+- "Which plots use scipy?" → `dependencies: scipy`
+- "Implementations with twin-axes" → `techniques: twin-axes`
+- "Code with clustering" → `dataprep: hierarchical-clustering`
+
+---
+
+## AI Prompts
+
+For AI agents, there are separate, detailed prompt files:
+- **Spec-Tags:** `prompts/spec-tags-generator.md`
+- **Impl-Tags:** `prompts/impl-tags-generator.md`
+
+These contain complete vocabulary, detection patterns, and examples.
+
+---
+
## Best Practices
-1. **Be specific but not excessive** - 2-4 tags per dimension is typical
-2. **Think like a user** - What would someone search for?
-3. **Use established vocabulary** - Standard data viz terminology
-4. **general is fine** - Not every plot needs a specialized domain
-5. **basic is informative** - It tells users this is the foundational variant
+1. **Consistent naming convention** - lowercase, kebab-case
+2. **Tag conservatively** - Only what is clearly recognizable
+3. **Empty lists are OK** - Not every dimension needs to be filled
+4. **2-4 tags per dimension** - Typical for spec tags
+5. **3-8 tags total** - Typical for impl tags
+6. **Use established terms** - Prefer listed vocabulary, but any recognized term from the data-viz/programming community is valid (e.g., unlisted libraries should still be tagged)
diff --git a/plots/alluvial-basic/metadata/altair.yaml b/plots/alluvial-basic/metadata/altair.yaml
index 990266e50e..e61f0fccde 100644
--- a/plots/alluvial-basic/metadata/altair.yaml
+++ b/plots/alluvial-basic/metadata/altair.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/altair/plot.html
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - bezier-curves
+ - hover-tooltips
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of a complex alluvial diagram using Altairs declarative
diff --git a/plots/alluvial-basic/metadata/bokeh.yaml b/plots/alluvial-basic/metadata/bokeh.yaml
index 76f2add140..783cf0c09f 100644
--- a/plots/alluvial-basic/metadata/bokeh.yaml
+++ b/plots/alluvial-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of alluvial diagram from scratch using Bokeh low-level
@@ -25,16 +38,31 @@ review:
- Legend is positioned far right creating slight visual imbalance
- Node labels only shown for first and last time points; middle time points could
benefit from value annotations
- image_description: |-
- The plot displays a basic alluvial diagram showing voter migration between four political parties (Democratic, Republican, Independent, Other) across four election years (2012, 2016, 2020, 2024). The visualization uses:
- - **Colors**: Blue (#306998) for Democratic, Red (#D62728) for Republican, Yellow (#FFD43B) for Independent, Gray (#7F7F7F) for Other
+ image_description: 'The plot displays a basic alluvial diagram showing voter migration
+ between four political parties (Democratic, Republican, Independent, Other) across
+ four election years (2012, 2016, 2020, 2024). The visualization uses:
+
+ - **Colors**: Blue (#306998) for Democratic, Red (#D62728) for Republican, Yellow
+ (#FFD43B) for Independent, Gray (#7F7F7F) for Other
+
- **Title**: "alluvial-basic · bokeh · pyplots.ai" centered at top
- - **Subtitle**: "Voter Migration Between Parties (values in millions)" in gray below the title
- - **Layout**: Four vertical time columns with rectangular nodes representing party sizes, connected by smooth Bezier curve bands showing flow transitions
- - **Labels**: Left side shows starting values (Democratic 42M, Republican 37M, Independent 15M, Other 6M), right side shows ending values (Democratic 48M, Republican 40M, Independent 13M, Other 2M)
+
+ - **Subtitle**: "Voter Migration Between Parties (values in millions)" in gray
+ below the title
+
+ - **Layout**: Four vertical time columns with rectangular nodes representing party
+ sizes, connected by smooth Bezier curve bands showing flow transitions
+
+ - **Labels**: Left side shows starting values (Democratic 42M, Republican 37M,
+ Independent 15M, Other 6M), right side shows ending values (Democratic 48M, Republican
+ 40M, Independent 13M, Other 2M)
+
- **Time labels**: Bold year labels (2012, 2016, 2020, 2024) at the bottom
+
- **Legend**: Located on the right side showing all four party colors
- - **Flow bands**: Semi-transparent (alpha 0.5) with color matching the source category, clearly showing transitions between parties
+
+ - **Flow bands**: Semi-transparent (alpha 0.5) with color matching the source
+ category, clearly showing transitions between parties'
criteria_checklist:
visual_quality:
score: 37
diff --git a/plots/alluvial-basic/metadata/highcharts.yaml b/plots/alluvial-basic/metadata/highcharts.yaml
index 850e243d4f..87f3d37284 100644
--- a/plots/alluvial-basic/metadata/highcharts.yaml
+++ b/plots/alluvial-basic/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ - pillow
+ techniques:
+ - html-export
+ - annotations
+ - hover-tooltips
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of alluvial structure using Highcharts sankey with explicit
diff --git a/plots/alluvial-basic/metadata/letsplot.yaml b/plots/alluvial-basic/metadata/letsplot.yaml
index e1a36f941b..fa382c4ec3 100644
--- a/plots/alluvial-basic/metadata/letsplot.yaml
+++ b/plots/alluvial-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - bezier-curves
+ - html-export
+ - annotations
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent choice of realistic voter migration data that perfectly demonstrates
diff --git a/plots/alluvial-basic/metadata/matplotlib.yaml b/plots/alluvial-basic/metadata/matplotlib.yaml
index 2b762bafc1..199b8bcfab 100644
--- a/plots/alluvial-basic/metadata/matplotlib.yaml
+++ b/plots/alluvial-basic/metadata/matplotlib.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of alluvial diagram from scratch using matplotlib low-level
diff --git a/plots/alluvial-basic/metadata/plotly.yaml b/plots/alluvial-basic/metadata/plotly.yaml
index fa368280c5..8e135aaad7 100644
--- a/plots/alluvial-basic/metadata/plotly.yaml
+++ b/plots/alluvial-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alluvial/Sankey diagram implementation using Plotly go.Sankey
diff --git a/plots/alluvial-basic/metadata/plotnine.yaml b/plots/alluvial-basic/metadata/plotnine.yaml
index 9752273069..0009fd61e2 100644
--- a/plots/alluvial-basic/metadata/plotnine.yaml
+++ b/plots/alluvial-basic/metadata/plotnine.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - bezier-curves
+ - annotations
+ patterns:
+ - wide-to-long
+ - groupby-aggregation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of alluvial diagram using plotnine grammar of graphics
diff --git a/plots/alluvial-basic/metadata/pygal.yaml b/plots/alluvial-basic/metadata/pygal.yaml
index f61a7deb72..3f820ff250 100644
--- a/plots/alluvial-basic/metadata/pygal.yaml
+++ b/plots/alluvial-basic/metadata/pygal.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - bezier-curves
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual representation of voter migration with clear flow patterns
diff --git a/plots/alluvial-basic/metadata/seaborn.yaml b/plots/alluvial-basic/metadata/seaborn.yaml
index a8c8f2f307..bee8a3ef29 100644
--- a/plots/alluvial-basic/metadata/seaborn.yaml
+++ b/plots/alluvial-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/alluvial-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of colorblind-safe palette from seaborn
diff --git a/plots/andrews-curves/metadata/altair.yaml b/plots/andrews-curves/metadata/altair.yaml
index 001c91af26..83709ae470 100644
--- a/plots/andrews-curves/metadata/altair.yaml
+++ b/plots/andrews-curves/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - dataset-loading
+ - matrix-construction
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Correct Fourier series implementation for Andrews curves transformation
diff --git a/plots/andrews-curves/metadata/bokeh.yaml b/plots/andrews-curves/metadata/bokeh.yaml
index 03df36868e..93453aa9ae 100644
--- a/plots/andrews-curves/metadata/bokeh.yaml
+++ b/plots/andrews-curves/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - custom-legend
+ - html-export
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the Andrews curves mathematical transformation with
diff --git a/plots/andrews-curves/metadata/highcharts.yaml b/plots/andrews-curves/metadata/highcharts.yaml
index 9c53f5b25b..ef5349033b 100644
--- a/plots/andrews-curves/metadata/highcharts.yaml
+++ b/plots/andrews-curves/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - dataset-loading
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent colorblind-safe palette choice (blue/yellow/purple)
diff --git a/plots/andrews-curves/metadata/letsplot.yaml b/plots/andrews-curves/metadata/letsplot.yaml
index 0d1c8cb80e..1f38c05061 100644
--- a/plots/andrews-curves/metadata/letsplot.yaml
+++ b/plots/andrews-curves/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Andrews curves Fourier transformation algorithm
diff --git a/plots/andrews-curves/metadata/matplotlib.yaml b/plots/andrews-curves/metadata/matplotlib.yaml
index 70712f9d14..4eafbbc33a 100644
--- a/plots/andrews-curves/metadata/matplotlib.yaml
+++ b/plots/andrews-curves/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ - matrix-construction
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Andrews curves algorithm using Fourier basis functions
diff --git a/plots/andrews-curves/metadata/plotly.yaml b/plots/andrews-curves/metadata/plotly.yaml
index 8cfdff2261..4ed13198f0 100644
--- a/plots/andrews-curves/metadata/plotly.yaml
+++ b/plots/andrews-curves/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the Fourier transformation formula for Andrews curves
diff --git a/plots/andrews-curves/metadata/plotnine.yaml b/plots/andrews-curves/metadata/plotnine.yaml
index 73c3eb6364..e614b80d3c 100644
--- a/plots/andrews-curves/metadata/plotnine.yaml
+++ b/plots/andrews-curves/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/plotnine/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Andrews curves Fourier transformation with correct
diff --git a/plots/andrews-curves/metadata/pygal.yaml b/plots/andrews-curves/metadata/pygal.yaml
index b4d5a34e42..2a50dffb5e 100644
--- a/plots/andrews-curves/metadata/pygal.yaml
+++ b/plots/andrews-curves/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent colorblind-safe color palette (blue/orange/purple)
diff --git a/plots/andrews-curves/metadata/seaborn.yaml b/plots/andrews-curves/metadata/seaborn.yaml
index c125da8fc5..8bad0a0de6 100644
--- a/plots/andrews-curves/metadata/seaborn.yaml
+++ b/plots/andrews-curves/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/andrews-curves/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Andrews curves Fourier transformation algorithm
diff --git a/plots/arc-basic/metadata/altair.yaml b/plots/arc-basic/metadata/altair.yaml
index f9bd659ccc..7b6caabae5 100644
--- a/plots/arc-basic/metadata/altair.yaml
+++ b/plots/arc-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/arc-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of arc diagram using Altairs declarative grammar with
diff --git a/plots/arc-basic/metadata/bokeh.yaml b/plots/arc-basic/metadata/bokeh.yaml
index 00d227a403..1cdf264f1e 100644
--- a/plots/arc-basic/metadata/bokeh.yaml
+++ b/plots/arc-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/arc-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - bezier-curves
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of quadratic bezier curves for smooth arcs with height
diff --git a/plots/arc-basic/metadata/letsplot.yaml b/plots/arc-basic/metadata/letsplot.yaml
index b51727545a..cdce9fd1cb 100644
--- a/plots/arc-basic/metadata/letsplot.yaml
+++ b/plots/arc-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/arc-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with clear proportional arc heights showing connection
diff --git a/plots/arc-basic/metadata/matplotlib.yaml b/plots/arc-basic/metadata/matplotlib.yaml
index 93c1c8c72b..9e4632982a 100644
--- a/plots/arc-basic/metadata/matplotlib.yaml
+++ b/plots/arc-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of arc diagram with proper proportional arc heights based
diff --git a/plots/arc-basic/metadata/plotly.yaml b/plots/arc-basic/metadata/plotly.yaml
index 58bbb6c15e..f510d5883f 100644
--- a/plots/arc-basic/metadata/plotly.yaml
+++ b/plots/arc-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/arc-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual implementation of arc diagram with proportional arc heights based
diff --git a/plots/arc-basic/metadata/plotnine.yaml b/plots/arc-basic/metadata/plotnine.yaml
index f7be3e7551..9299225017 100644
--- a/plots/arc-basic/metadata/plotnine.yaml
+++ b/plots/arc-basic/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of arc diagram using plotnine grammar of graphics with
diff --git a/plots/arc-basic/metadata/pygal.yaml b/plots/arc-basic/metadata/pygal.yaml
index 19cb1e051e..835337c0f5 100644
--- a/plots/arc-basic/metadata/pygal.yaml
+++ b/plots/arc-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/arc-basic/pygal/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/arc-basic/metadata/seaborn.yaml b/plots/arc-basic/metadata/seaborn.yaml
index f45aca0611..098aea0f98 100644
--- a/plots/arc-basic/metadata/seaborn.yaml
+++ b/plots/arc-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/arc-basic/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/arc-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with clear node labels and well-proportioned arcs
diff --git a/plots/area-basic/metadata/altair.yaml b/plots/area-basic/metadata/altair.yaml
index ac6ef3dfec..f5893601d8 100644
--- a/plots/area-basic/metadata/altair.yaml
+++ b/plots/area-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent weekly pattern simulation showing realistic website traffic with weekday
diff --git a/plots/area-basic/metadata/bokeh.yaml b/plots/area-basic/metadata/bokeh.yaml
index 1ca3207525..20ea94b578 100644
--- a/plots/area-basic/metadata/bokeh.yaml
+++ b/plots/area-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent text sizing scaled appropriately for 4800x2700 canvas
diff --git a/plots/area-basic/metadata/highcharts.yaml b/plots/area-basic/metadata/highcharts.yaml
index 2718b69d94..9e673abd31 100644
--- a/plots/area-basic/metadata/highcharts.yaml
+++ b/plots/area-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - gradient-fill
review:
strengths:
- Excellent implementation of gradient fill from specification notes (alpha 0.3-0.5)
diff --git a/plots/area-basic/metadata/letsplot.yaml b/plots/area-basic/metadata/letsplot.yaml
index 4aab01d0ba..c416a44d52 100644
--- a/plots/area-basic/metadata/letsplot.yaml
+++ b/plots/area-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent realistic data generation with trend, weekly cyclical pattern, and noise
diff --git a/plots/area-basic/metadata/matplotlib.yaml b/plots/area-basic/metadata/matplotlib.yaml
index 56829e6289..710ce92ff2 100644
--- a/plots/area-basic/metadata/matplotlib.yaml
+++ b/plots/area-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- 'Excellent adherence to spec requirements: semi-transparent fill, gridlines, clear
diff --git a/plots/area-basic/metadata/plotly.yaml b/plots/area-basic/metadata/plotly.yaml
index 141c99499c..b9928e12c0 100644
--- a/plots/area-basic/metadata/plotly.yaml
+++ b/plots/area-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent title format following the exact spec-id · library · pyplots.ai convention
diff --git a/plots/area-basic/metadata/plotnine.yaml b/plots/area-basic/metadata/plotnine.yaml
index 625250ce98..20f3271e39 100644
--- a/plots/area-basic/metadata/plotnine.yaml
+++ b/plots/area-basic/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of ggplot2 grammar with proper layering (geom_area + geom_line)
diff --git a/plots/area-basic/metadata/pygal.yaml b/plots/area-basic/metadata/pygal.yaml
index c0dbd4cb41..918d4f6153 100644
--- a/plots/area-basic/metadata/pygal.yaml
+++ b/plots/area-basic/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns: []
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the area chart concept with proper fill transparency
diff --git a/plots/area-basic/metadata/seaborn.yaml b/plots/area-basic/metadata/seaborn.yaml
index 184b1bb3f1..6312013886 100644
--- a/plots/area-basic/metadata/seaborn.yaml
+++ b/plots/area-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - time-series
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent visual design with proper font sizes, color choices, and layout
diff --git a/plots/area-stacked-percent/metadata/altair.yaml b/plots/area-stacked-percent/metadata/altair.yaml
index 9458ba9a93..6ce62e818f 100644
--- a/plots/area-stacked-percent/metadata/altair.yaml
+++ b/plots/area-stacked-percent/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent use of Altair's declarative grammar with stack="normalize" for proper
diff --git a/plots/area-stacked-percent/metadata/bokeh.yaml b/plots/area-stacked-percent/metadata/bokeh.yaml
index 26848da6a0..738956e12d 100644
--- a/plots/area-stacked-percent/metadata/bokeh.yaml
+++ b/plots/area-stacked-percent/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - patches
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - columndatasource
+ dataprep:
+ - normalization
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text legibility with appropriately scaled fonts for the 4800x2700 canvas
diff --git a/plots/area-stacked-percent/metadata/highcharts.yaml b/plots/area-stacked-percent/metadata/highcharts.yaml
index b7dba1037b..34f128986e 100644
--- a/plots/area-stacked-percent/metadata/highcharts.yaml
+++ b/plots/area-stacked-percent/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- 'Excellent implementation of 100% stacked area chart using Highcharts native stacking:
diff --git a/plots/area-stacked-percent/metadata/letsplot.yaml b/plots/area-stacked-percent/metadata/letsplot.yaml
index 055a025f29..7d3b508d53 100644
--- a/plots/area-stacked-percent/metadata/letsplot.yaml
+++ b/plots/area-stacked-percent/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-chosen colors that are colorblind-friendly
diff --git a/plots/area-stacked-percent/metadata/matplotlib.yaml b/plots/area-stacked-percent/metadata/matplotlib.yaml
index c60fa18dc1..69163ba80b 100644
--- a/plots/area-stacked-percent/metadata/matplotlib.yaml
+++ b/plots/area-stacked-percent/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent use of the 100% stacked area visualization matching spec requirements
diff --git a/plots/area-stacked-percent/metadata/plotly.yaml b/plots/area-stacked-percent/metadata/plotly.yaml
index 6d713284ad..e0f0ca66d9 100644
--- a/plots/area-stacked-percent/metadata/plotly.yaml
+++ b/plots/area-stacked-percent/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent use of Plotly stackgroup with groupnorm=percent for proper 100% stacking
diff --git a/plots/area-stacked-percent/metadata/plotnine.yaml b/plots/area-stacked-percent/metadata/plotnine.yaml
index 2e8e079233..e1a0319590 100644
--- a/plots/area-stacked-percent/metadata/plotnine.yaml
+++ b/plots/area-stacked-percent/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the grammar of graphics with proper layering (ggplot
diff --git a/plots/area-stacked-percent/metadata/pygal.yaml b/plots/area-stacked-percent/metadata/pygal.yaml
index 1ba91f8dee..da5207d910 100644
--- a/plots/area-stacked-percent/metadata/pygal.yaml
+++ b/plots/area-stacked-percent/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Correct implementation of 100% stacked area using StackedLine with fill=True
diff --git a/plots/area-stacked-percent/metadata/seaborn.yaml b/plots/area-stacked-percent/metadata/seaborn.yaml
index e264c71cac..c7fc8a0313 100644
--- a/plots/area-stacked-percent/metadata/seaborn.yaml
+++ b/plots/area-stacked-percent/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked-pe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked-percent/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data storytelling showing realistic renewable energy market evolution
diff --git a/plots/area-stacked/metadata/altair.yaml b/plots/area-stacked/metadata/altair.yaml
index 2ed350fe54..5a3c5da456 100644
--- a/plots/area-stacked/metadata/altair.yaml
+++ b/plots/area-stacked/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - wide-to-long
+ - data-generation
+ dataprep:
+ - time-series
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Altair declarative encoding with proper type annotations (T,
diff --git a/plots/area-stacked/metadata/bokeh.yaml b/plots/area-stacked/metadata/bokeh.yaml
index 3f01a2e5a9..6ad2e2f767 100644
--- a/plots/area-stacked/metadata/bokeh.yaml
+++ b/plots/area-stacked/metadata/bokeh.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - custom-legend
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - time-series
+ - cumulative-sum
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent stacking implementation using Bokeh varea with proper cumulative calculations
diff --git a/plots/area-stacked/metadata/highcharts.yaml b/plots/area-stacked/metadata/highcharts.yaml
index 4d5031bb78..0eda87879a 100644
--- a/plots/area-stacked/metadata/highcharts.yaml
+++ b/plots/area-stacked/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent colorblind-safe palette choice with high contrast between series
@@ -23,14 +34,25 @@ review:
weaknesses:
- Legend background color creates slight visual disconnection from the chart area
- Grid lines could be slightly more subtle (currently visible but not distracting)
- image_description: |-
- The plot displays a stacked area chart showing monthly revenue by product category from January 2023 through December 2024. Four distinct colored areas are stacked vertically:
+ image_description: 'The plot displays a stacked area chart showing monthly revenue
+ by product category from January 2023 through December 2024. Four distinct colored
+ areas are stacked vertically:
+
- **Blue (#306998)** - Electronics (largest area, top of stack)
+
- **Yellow (#FFD43B)** - Software (second from top)
+
- **Purple (#9467BD)** - Services (third from top)
+
- **Cyan (#17BECF)** - Accessories (smallest, at bottom)
- The chart has clear axis labels ("Revenue ($ thousands)" on Y-axis, month labels on X-axis), a title "area-stacked · highcharts · pyplots.ai" with subtitle "Monthly Revenue by Product Category (2023-2024)", and a legend positioned in the top-right corner. The stacked areas show cumulative totals reaching peaks around 625 in Dec 2023 and 735 in Dec 2024. The baseline starts at zero and the chart effectively demonstrates both individual category contributions and overall trends.
+
+ The chart has clear axis labels ("Revenue ($ thousands)" on Y-axis, month labels
+ on X-axis), a title "area-stacked · highcharts · pyplots.ai" with subtitle "Monthly
+ Revenue by Product Category (2023-2024)", and a legend positioned in the top-right
+ corner. The stacked areas show cumulative totals reaching peaks around 625 in
+ Dec 2023 and 735 in Dec 2024. The baseline starts at zero and the chart effectively
+ demonstrates both individual category contributions and overall trends.'
criteria_checklist:
visual_quality:
score: 37
diff --git a/plots/area-stacked/metadata/letsplot.yaml b/plots/area-stacked/metadata/letsplot.yaml
index 1d4d5f37a4..030a112046 100644
--- a/plots/area-stacked/metadata/letsplot.yaml
+++ b/plots/area-stacked/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - wide-to-long
+ - data-generation
+ dataprep:
+ - time-series
+ styling:
+ - alpha-blending
review:
strengths:
- Clean, readable code following KISS principle with clear data generation logic
diff --git a/plots/area-stacked/metadata/matplotlib.yaml b/plots/area-stacked/metadata/matplotlib.yaml
index 7887fe55e3..d07e86c177 100644
--- a/plots/area-stacked/metadata/matplotlib.yaml
+++ b/plots/area-stacked/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent real-world context using website traffic sources over 24 months
diff --git a/plots/area-stacked/metadata/plotly.yaml b/plots/area-stacked/metadata/plotly.yaml
index ae83d98072..b70f6df589 100644
--- a/plots/area-stacked/metadata/plotly.yaml
+++ b/plots/area-stacked/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of stacked area chart with proper use of plotly stackgroup
diff --git a/plots/area-stacked/metadata/plotnine.yaml b/plots/area-stacked/metadata/plotnine.yaml
index 5380f08de8..17b2135b17 100644
--- a/plots/area-stacked/metadata/plotnine.yaml
+++ b/plots/area-stacked/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - wide-to-long
+ - data-generation
+ dataprep:
+ - time-series
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper geom_area stacking
diff --git a/plots/area-stacked/metadata/pygal.yaml b/plots/area-stacked/metadata/pygal.yaml
index 02735a5448..7b7695c946 100644
--- a/plots/area-stacked/metadata/pygal.yaml
+++ b/plots/area-stacked/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/area-stacked/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent stacked area visualization with clear separation of all four product
diff --git a/plots/area-stacked/metadata/seaborn.yaml b/plots/area-stacked/metadata/seaborn.yaml
index 008f942c2c..5ec1d7319d 100644
--- a/plots/area-stacked/metadata/seaborn.yaml
+++ b/plots/area-stacked/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/area-stacked/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/area-stacked/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with harmonious color palette including Python blue as
diff --git a/plots/band-basic/metadata/altair.yaml b/plots/band-basic/metadata/altair.yaml
index 6cdeb294eb..43cbe1b1fa 100644
--- a/plots/band-basic/metadata/altair.yaml
+++ b/plots/band-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/band-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Altair declarative grammar with mark_area and y/y2 encoding for
diff --git a/plots/band-basic/metadata/bokeh.yaml b/plots/band-basic/metadata/bokeh.yaml
index 626b00a4b3..4504e50915 100644
--- a/plots/band-basic/metadata/bokeh.yaml
+++ b/plots/band-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/band-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of growing uncertainty band that widens over time
diff --git a/plots/band-basic/metadata/highcharts.yaml b/plots/band-basic/metadata/highcharts.yaml
index 5447b94206..39f2d5145e 100644
--- a/plots/band-basic/metadata/highcharts.yaml
+++ b/plots/band-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/band-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Highcharts arearange series for band visualization with proper
diff --git a/plots/band-basic/metadata/letsplot.yaml b/plots/band-basic/metadata/letsplot.yaml
index 54c686963a..24d466f384 100644
--- a/plots/band-basic/metadata/letsplot.yaml
+++ b/plots/band-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/band-basic/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of band plot with proper geom_ribbon for confidence interval
diff --git a/plots/band-basic/metadata/matplotlib.yaml b/plots/band-basic/metadata/matplotlib.yaml
index 4966aedb5d..5605c84bcc 100644
--- a/plots/band-basic/metadata/matplotlib.yaml
+++ b/plots/band-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of band plot with widening confidence interval demonstrating
diff --git a/plots/band-basic/metadata/plotly.yaml b/plots/band-basic/metadata/plotly.yaml
index 2b744a0a1b..3eb5f2f93f 100644
--- a/plots/band-basic/metadata/plotly.yaml
+++ b/plots/band-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/band-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with proper font sizing throughout
diff --git a/plots/band-basic/metadata/plotnine.yaml b/plots/band-basic/metadata/plotnine.yaml
index 0d40ccb1f3..502f9e9971 100644
--- a/plots/band-basic/metadata/plotnine.yaml
+++ b/plots/band-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of plotnine grammar of graphics with geom_ribbon + geom_line combination
diff --git a/plots/band-basic/metadata/pygal.yaml b/plots/band-basic/metadata/pygal.yaml
index a18df4771b..3da64dc580 100644
--- a/plots/band-basic/metadata/pygal.yaml
+++ b/plots/band-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/band-basic/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent color contrast between blue band and yellow center line, colorblind-safe
diff --git a/plots/band-basic/metadata/seaborn.yaml b/plots/band-basic/metadata/seaborn.yaml
index a56d30a414..ecb3729efc 100644
--- a/plots/band-basic/metadata/seaborn.yaml
+++ b/plots/band-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/band-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/band-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with perfect text legibility and color accessibility
diff --git a/plots/bar-3d/metadata/altair.yaml b/plots/bar-3d/metadata/altair.yaml
index def526fd44..fefd3e86b6 100644
--- a/plots/bar-3d/metadata/altair.yaml
+++ b/plots/bar-3d/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-3d/altair/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-3d/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-3d/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - custom-legend
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative solution using isometric projection to simulate 3D in a 2D
diff --git a/plots/bar-3d/metadata/bokeh.yaml b/plots/bar-3d/metadata/bokeh.yaml
index b1e040d0f3..7489eda780 100644
--- a/plots/bar-3d/metadata/bokeh.yaml
+++ b/plots/bar-3d/metadata/bokeh.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-3d/bokeh/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-3d/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-3d/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - custom-legend
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent 3D isometric projection with proper painter's algorithm for correct
diff --git a/plots/bar-3d/metadata/highcharts.yaml b/plots/bar-3d/metadata/highcharts.yaml
index aee0097e0f..788a054966 100644
--- a/plots/bar-3d/metadata/highcharts.yaml
+++ b/plots/bar-3d/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-3d/highchar
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-3d/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-3d/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - 3d-projection
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts 3D rendering with proper alpha/beta viewing angles
diff --git a/plots/bar-3d/metadata/letsplot.yaml b/plots/bar-3d/metadata/letsplot.yaml
index 1387786dd4..a11993c539 100644
--- a/plots/bar-3d/metadata/letsplot.yaml
+++ b/plots/bar-3d/metadata/letsplot.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-3d/letsplot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-3d/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-3d/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - wide-to-long
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent 3D isometric projection with clear depth perception using geom_polygon
diff --git a/plots/bar-3d/metadata/matplotlib.yaml b/plots/bar-3d/metadata/matplotlib.yaml
index e671b9ed47..d721246a79 100644
--- a/plots/bar-3d/metadata/matplotlib.yaml
+++ b/plots/bar-3d/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-3d/matplotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-3d/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - colorbar
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent use of viridis colormap with colorbar for depth perception as spec recommends
diff --git a/plots/bar-3d/metadata/plotly.yaml b/plots/bar-3d/metadata/plotly.yaml
index 5fb4fe6567..2aa81ce5c3 100644
--- a/plots/bar-3d/metadata/plotly.yaml
+++ b/plots/bar-3d/metadata/plotly.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-3d/plotly/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-3d/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-3d/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent implementation of 3D bars using Mesh3d with proper vertex and face definitions
diff --git a/plots/bar-basic/metadata/altair.yaml b/plots/bar-basic/metadata/altair.yaml
index ab6d86e6a1..f83d103cd7 100644
--- a/plots/bar-basic/metadata/altair.yaml
+++ b/plots/bar-basic/metadata/altair.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-basic/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent declarative Altair syntax with proper encoding types (N for nominal,
diff --git a/plots/bar-basic/metadata/bokeh.yaml b/plots/bar-basic/metadata/bokeh.yaml
index 1cc63a20a2..2e643bd430 100644
--- a/plots/bar-basic/metadata/bokeh.yaml
+++ b/plots/bar-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing for high-resolution output (36pt title, 28pt labels, 24pt
diff --git a/plots/bar-basic/metadata/highcharts.yaml b/plots/bar-basic/metadata/highcharts.yaml
index 24ea770d76..4526288fc1 100644
--- a/plots/bar-basic/metadata/highcharts.yaml
+++ b/plots/bar-basic/metadata/highcharts.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text at 4800x2700 resolution
diff --git a/plots/bar-basic/metadata/letsplot.yaml b/plots/bar-basic/metadata/letsplot.yaml
index 0b9ef67153..8c23eaa0ac 100644
--- a/plots/bar-basic/metadata/letsplot.yaml
+++ b/plots/bar-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-basic/letsplot/plot.html
quality_score: 99
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns: []
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent use of geom_text with label_format for currency formatting ($X,XXX)
diff --git a/plots/bar-basic/metadata/matplotlib.yaml b/plots/bar-basic/metadata/matplotlib.yaml
index f761cce6c5..259e541b70 100644
--- a/plots/bar-basic/metadata/matplotlib.yaml
+++ b/plots/bar-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - edge-highlighting
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text readability with appropriate font sizes for high-resolution output
diff --git a/plots/bar-basic/metadata/plotly.yaml b/plots/bar-basic/metadata/plotly.yaml
index b0767ff7a9..3860648bbf 100644
--- a/plots/bar-basic/metadata/plotly.yaml
+++ b/plots/bar-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-basic/plotly/plot.html
quality_score: 100
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/bar-basic/metadata/plotnine.yaml b/plots/bar-basic/metadata/plotnine.yaml
index 97b9813005..1e249b90b4 100644
--- a/plots/bar-basic/metadata/plotnine.yaml
+++ b/plots/bar-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns: []
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent use of ggplot2 grammar with clean layered syntax (ggplot + geom_bar
diff --git a/plots/bar-basic/metadata/pygal.yaml b/plots/bar-basic/metadata/pygal.yaml
index 7324411902..8e7dcffb7b 100644
--- a/plots/bar-basic/metadata/pygal.yaml
+++ b/plots/bar-basic/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, professional appearance with good use of pygal custom Style system
diff --git a/plots/bar-basic/metadata/seaborn.yaml b/plots/bar-basic/metadata/seaborn.yaml
index 71307e2425..16aa7b432b 100644
--- a/plots/bar-basic/metadata/seaborn.yaml
+++ b/plots/bar-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-basic/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - edge-highlighting
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing with all elements clearly legible at full resolution
diff --git a/plots/bar-categorical/metadata/altair.yaml b/plots/bar-categorical/metadata/altair.yaml
index ee67e962a8..73e43ed5dc 100644
--- a/plots/bar-categorical/metadata/altair.yaml
+++ b/plots/bar-categorical/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative syntax with automatic count aggregation via
diff --git a/plots/bar-categorical/metadata/bokeh.yaml b/plots/bar-categorical/metadata/bokeh.yaml
index afa53f6df4..d43aaa4afa 100644
--- a/plots/bar-categorical/metadata/bokeh.yaml
+++ b/plots/bar-categorical/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing scaled appropriately for 4800x2700 canvas
diff --git a/plots/bar-categorical/metadata/highcharts.yaml b/plots/bar-categorical/metadata/highcharts.yaml
index 917a5372af..cc3331ef95 100644
--- a/plots/bar-categorical/metadata/highcharts.yaml
+++ b/plots/bar-categorical/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of categorical counting with pandas value_counts()
diff --git a/plots/bar-categorical/metadata/letsplot.yaml b/plots/bar-categorical/metadata/letsplot.yaml
index ee6fd7a84c..39f6e4d096 100644
--- a/plots/bar-categorical/metadata/letsplot.yaml
+++ b/plots/bar-categorical/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean implementation following ggplot2 grammar of graphics
diff --git a/plots/bar-categorical/metadata/matplotlib.yaml b/plots/bar-categorical/metadata/matplotlib.yaml
index 5b188884e7..baa4cd55c5 100644
--- a/plots/bar-categorical/metadata/matplotlib.yaml
+++ b/plots/bar-categorical/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with appropriate font sizes for 4800x2700 output
diff --git a/plots/bar-categorical/metadata/plotly.yaml b/plots/bar-categorical/metadata/plotly.yaml
index 8417bfd69b..52f14b76e4 100644
--- a/plots/bar-categorical/metadata/plotly.yaml
+++ b/plots/bar-categorical/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, professional appearance with excellent text legibility at all sizes
diff --git a/plots/bar-categorical/metadata/plotnine.yaml b/plots/bar-categorical/metadata/plotnine.yaml
index 762d7dca09..de16eb0c84 100644
--- a/plots/bar-categorical/metadata/plotnine.yaml
+++ b/plots/bar-categorical/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with geom_bar() for automatic count
diff --git a/plots/bar-categorical/metadata/pygal.yaml b/plots/bar-categorical/metadata/pygal.yaml
index 605edc76aa..f60f752cbd 100644
--- a/plots/bar-categorical/metadata/pygal.yaml
+++ b/plots/bar-categorical/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with well-scaled font sizes for the 4800x2700 canvas
diff --git a/plots/bar-categorical/metadata/seaborn.yaml b/plots/bar-categorical/metadata/seaborn.yaml
index 8812824b4c..7f50a433ef 100644
--- a/plots/bar-categorical/metadata/seaborn.yaml
+++ b/plots/bar-categorical/metadata/seaborn.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-categorical
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-categorical/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of sns.countplot for automatic frequency counting - the core seaborn
diff --git a/plots/bar-diverging/metadata/altair.yaml b/plots/bar-diverging/metadata/altair.yaml
index e06d09f1e4..adcb188891 100644
--- a/plots/bar-diverging/metadata/altair.yaml
+++ b/plots/bar-diverging/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of diverging bar chart following all spec requirements
diff --git a/plots/bar-diverging/metadata/bokeh.yaml b/plots/bar-diverging/metadata/bokeh.yaml
index 2697f7e1dc..e29cc300da 100644
--- a/plots/bar-diverging/metadata/bokeh.yaml
+++ b/plots/bar-diverging/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of diverging bar chart with clear visual distinction
diff --git a/plots/bar-diverging/metadata/highcharts.yaml b/plots/bar-diverging/metadata/highcharts.yaml
index 169f33140c..3c0a1f4327 100644
--- a/plots/bar-diverging/metadata/highcharts.yaml
+++ b/plots/bar-diverging/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent colorblind-safe color scheme (blue #306998 and yellow #FFD43B)'
diff --git a/plots/bar-diverging/metadata/letsplot.yaml b/plots/bar-diverging/metadata/letsplot.yaml
index 0349fb8088..09491c437d 100644
--- a/plots/bar-diverging/metadata/letsplot.yaml
+++ b/plots/bar-diverging/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the diverging bar chart concept with clear visual
diff --git a/plots/bar-diverging/metadata/matplotlib.yaml b/plots/bar-diverging/metadata/matplotlib.yaml
index 7ea4a26fda..8d3b5a94e3 100644
--- a/plots/bar-diverging/metadata/matplotlib.yaml
+++ b/plots/bar-diverging/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/matplotlib/plot_thumb.png
preview_html: null
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- 'Excellent implementation of all spec requirements: horizontal orientation, contrasting
diff --git a/plots/bar-diverging/metadata/plotly.yaml b/plots/bar-diverging/metadata/plotly.yaml
index a86df9d0fb..85d81ec7b3 100644
--- a/plots/bar-diverging/metadata/plotly.yaml
+++ b/plots/bar-diverging/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized fonts and appropriate bar spacing
diff --git a/plots/bar-diverging/metadata/plotnine.yaml b/plots/bar-diverging/metadata/plotnine.yaml
index a504f6e121..8276616efa 100644
--- a/plots/bar-diverging/metadata/plotnine.yaml
+++ b/plots/bar-diverging/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/plotnine/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of coord_flip() for horizontal bars with readable category labels
diff --git a/plots/bar-diverging/metadata/pygal.yaml b/plots/bar-diverging/metadata/pygal.yaml
index 1e21fac249..67a6ae564e 100644
--- a/plots/bar-diverging/metadata/pygal.yaml
+++ b/plots/bar-diverging/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of horizontal orientation for long category labels, enhancing readability
diff --git a/plots/bar-diverging/metadata/seaborn.yaml b/plots/bar-diverging/metadata/seaborn.yaml
index e9d88843b3..8103f064f1 100644
--- a/plots/bar-diverging/metadata/seaborn.yaml
+++ b/plots/bar-diverging/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-diverging/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of diverging bar chart with clear visual distinction
diff --git a/plots/bar-error/metadata/altair.yaml b/plots/bar-error/metadata/altair.yaml
index e21ffe5336..37d173bdde 100644
--- a/plots/bar-error/metadata/altair.yaml
+++ b/plots/bar-error/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-error/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair layered composition with separate marks for bars, error
diff --git a/plots/bar-error/metadata/bokeh.yaml b/plots/bar-error/metadata/bokeh.yaml
index 70f3823022..4a0abe0808 100644
--- a/plots/bar-error/metadata/bokeh.yaml
+++ b/plots/bar-error/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-error/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Bokeh Whisker model with TeeHead for professional error bar caps
diff --git a/plots/bar-error/metadata/highcharts.yaml b/plots/bar-error/metadata/highcharts.yaml
index d26c9ee282..984b6a0bca 100644
--- a/plots/bar-error/metadata/highcharts.yaml
+++ b/plots/bar-error/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-error/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts errorbar series with proper whisker styling (caps
diff --git a/plots/bar-error/metadata/letsplot.yaml b/plots/bar-error/metadata/letsplot.yaml
index 4166e5d8dc..a772079b2d 100644
--- a/plots/bar-error/metadata/letsplot.yaml
+++ b/plots/bar-error/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-error/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - edge-highlighting
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Clean, professional visualization with excellent text legibility at target resolution
diff --git a/plots/bar-error/metadata/matplotlib.yaml b/plots/bar-error/metadata/matplotlib.yaml
index d5dc0c879e..9aa6ec04e7 100644
--- a/plots/bar-error/metadata/matplotlib.yaml
+++ b/plots/bar-error/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text legibility with appropriate font sizes for all elements
diff --git a/plots/bar-error/metadata/plotly.yaml b/plots/bar-error/metadata/plotly.yaml
index b237931d76..eac6d8b3d3 100644
--- a/plots/bar-error/metadata/plotly.yaml
+++ b/plots/bar-error/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-error/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and properly styled error bars with
diff --git a/plots/bar-error/metadata/plotnine.yaml b/plots/bar-error/metadata/plotnine.yaml
index 70b7a25bfd..7439ad9794 100644
--- a/plots/bar-error/metadata/plotnine.yaml
+++ b/plots/bar-error/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - edge-highlighting
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of plotnine grammar of graphics with clean layering (geom_col +
diff --git a/plots/bar-error/metadata/pygal.yaml b/plots/bar-error/metadata/pygal.yaml
index 56f583a901..bda7db2228 100644
--- a/plots/bar-error/metadata/pygal.yaml
+++ b/plots/bar-error/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-error/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - edge-highlighting
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of pygal native confidence interval (ci) feature for error bars
diff --git a/plots/bar-error/metadata/seaborn.yaml b/plots/bar-error/metadata/seaborn.yaml
index 5319287315..f4d11d7c09 100644
--- a/plots/bar-error/metadata/seaborn.yaml
+++ b/plots/bar-error/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-error/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-error/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing following the 24/20/16pt guideline for large canvas
diff --git a/plots/bar-feature-importance/metadata/altair.yaml b/plots/bar-feature-importance/metadata/altair.yaml
index b59f3beee2..16ef461a7a 100644
--- a/plots/bar-feature-importance/metadata/altair.yaml
+++ b/plots/bar-feature-importance/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of the specification with all required features (sorting,
diff --git a/plots/bar-feature-importance/metadata/bokeh.yaml b/plots/bar-feature-importance/metadata/bokeh.yaml
index 364842e3d0..f0906ddd21 100644
--- a/plots/bar-feature-importance/metadata/bokeh.yaml
+++ b/plots/bar-feature-importance/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - html-export
+ patterns:
+ - columndatasource
+ dataprep: []
+ styling:
+ - custom-colormap
+ - grid-styling
review:
strengths:
- Excellent color gradient implementation using LinearColorMapper with Blues9 palette
diff --git a/plots/bar-feature-importance/metadata/highcharts.yaml b/plots/bar-feature-importance/metadata/highcharts.yaml
index e3aac9daf2..3443afb17c 100644
--- a/plots/bar-feature-importance/metadata/highcharts.yaml
+++ b/plots/bar-feature-importance/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the feature importance bar chart with proper sorting
diff --git a/plots/bar-feature-importance/metadata/letsplot.yaml b/plots/bar-feature-importance/metadata/letsplot.yaml
index 4b4ef3769c..845b092c1d 100644
--- a/plots/bar-feature-importance/metadata/letsplot.yaml
+++ b/plots/bar-feature-importance/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- 'Excellent implementation of all spec requirements: sorted bars, color gradient,
diff --git a/plots/bar-feature-importance/metadata/matplotlib.yaml b/plots/bar-feature-importance/metadata/matplotlib.yaml
index 7892bf98d6..d5f452b2eb 100644
--- a/plots/bar-feature-importance/metadata/matplotlib.yaml
+++ b/plots/bar-feature-importance/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - grid-styling
review:
strengths:
- 'Excellent implementation of all spec requirements: sorted bars, color gradient,
diff --git a/plots/bar-feature-importance/metadata/plotly.yaml b/plots/bar-feature-importance/metadata/plotly.yaml
index 75da7e19af..98c6fb1c9a 100644
--- a/plots/bar-feature-importance/metadata/plotly.yaml
+++ b/plots/bar-feature-importance/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all spec requirements including sorted horizontal
diff --git a/plots/bar-feature-importance/metadata/plotnine.yaml b/plots/bar-feature-importance/metadata/plotnine.yaml
index b299e755ec..072ce6d8a0 100644
--- a/plots/bar-feature-importance/metadata/plotnine.yaml
+++ b/plots/bar-feature-importance/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/plotnine/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of the ggplot2 grammar of graphics paradigm
diff --git a/plots/bar-feature-importance/metadata/pygal.yaml b/plots/bar-feature-importance/metadata/pygal.yaml
index 13643040f3..39fc8f1280 100644
--- a/plots/bar-feature-importance/metadata/pygal.yaml
+++ b/plots/bar-feature-importance/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal per-bar color styling with gradient mapped to importance
diff --git a/plots/bar-feature-importance/metadata/seaborn.yaml b/plots/bar-feature-importance/metadata/seaborn.yaml
index 748f3520d6..f140659955 100644
--- a/plots/bar-feature-importance/metadata/seaborn.yaml
+++ b/plots/bar-feature-importance/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-feature-imp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-feature-importance/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with proper font sizing and no text overlap
diff --git a/plots/bar-grouped/metadata/altair.yaml b/plots/bar-grouped/metadata/altair.yaml
index e5eb2f8c69..7984ef15c8 100644
--- a/plots/bar-grouped/metadata/altair.yaml
+++ b/plots/bar-grouped/metadata/altair.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative xOffset encoding for creating grouped bars
diff --git a/plots/bar-grouped/metadata/bokeh.yaml b/plots/bar-grouped/metadata/bokeh.yaml
index 0420aed6fd..ec9c00ccb4 100644
--- a/plots/bar-grouped/metadata/bokeh.yaml
+++ b/plots/bar-grouped/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Clean grouped bar implementation using Bokeh FactorRange and factor_cmap
diff --git a/plots/bar-grouped/metadata/highcharts.yaml b/plots/bar-grouped/metadata/highcharts.yaml
index 2d9d3cee08..ea01369275 100644
--- a/plots/bar-grouped/metadata/highcharts.yaml
+++ b/plots/bar-grouped/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent title formatting following the spec-id · library · pyplots.ai convention
diff --git a/plots/bar-grouped/metadata/letsplot.yaml b/plots/bar-grouped/metadata/letsplot.yaml
index 9e859a4881..5ed8ebf5b2 100644
--- a/plots/bar-grouped/metadata/letsplot.yaml
+++ b/plots/bar-grouped/metadata/letsplot.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing with properly scaled fonts (24pt title, 20pt axis titles,
diff --git a/plots/bar-grouped/metadata/matplotlib.yaml b/plots/bar-grouped/metadata/matplotlib.yaml
index 4d1e1cc7f0..8f4c054836 100644
--- a/plots/bar-grouped/metadata/matplotlib.yaml
+++ b/plots/bar-grouped/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/matplotlib/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - edge-highlighting
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and properly spaced bars
diff --git a/plots/bar-grouped/metadata/plotly.yaml b/plots/bar-grouped/metadata/plotly.yaml
index c7acc3ba13..0482edcf3b 100644
--- a/plots/bar-grouped/metadata/plotly.yaml
+++ b/plots/bar-grouped/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-chosen colors that are colorblind-accessible
diff --git a/plots/bar-grouped/metadata/plotnine.yaml b/plots/bar-grouped/metadata/plotnine.yaml
index 667ed48020..3efecbdf13 100644
--- a/plots/bar-grouped/metadata/plotnine.yaml
+++ b/plots/bar-grouped/metadata/plotnine.yaml
@@ -11,6 +11,12 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, professional visual presentation with well-proportioned bars and spacing
diff --git a/plots/bar-grouped/metadata/pygal.yaml b/plots/bar-grouped/metadata/pygal.yaml
index 730fde4df2..9ee73db55a 100644
--- a/plots/bar-grouped/metadata/pygal.yaml
+++ b/plots/bar-grouped/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal Style class for comprehensive visual customization
diff --git a/plots/bar-grouped/metadata/seaborn.yaml b/plots/bar-grouped/metadata/seaborn.yaml
index ccd99d8fe4..764d54c3db 100644
--- a/plots/bar-grouped/metadata/seaborn.yaml
+++ b/plots/bar-grouped/metadata/seaborn.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-grouped/seaborn/plot_thumb.png
preview_html: null
quality_score: 96
+impl_tags:
+ dependencies: []
+ techniques:
+ - edge-highlighting
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of seaborn's native barplot with hue parameter for clean grouped
diff --git a/plots/bar-horizontal/metadata/altair.yaml b/plots/bar-horizontal/metadata/altair.yaml
index 4978ae6ce8..c7aaf95ca3 100644
--- a/plots/bar-horizontal/metadata/altair.yaml
+++ b/plots/bar-horizontal/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/altair/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text legibility with well-chosen font sizes (18pt labels, 22pt titles,
diff --git a/plots/bar-horizontal/metadata/bokeh.yaml b/plots/bar-horizontal/metadata/bokeh.yaml
index 578d6b7e18..1ebe97af5c 100644
--- a/plots/bar-horizontal/metadata/bokeh.yaml
+++ b/plots/bar-horizontal/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/bokeh/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of real-world data (programming language popularity) that resonates
diff --git a/plots/bar-horizontal/metadata/highcharts.yaml b/plots/bar-horizontal/metadata/highcharts.yaml
index a4e2a99e97..d22924051d 100644
--- a/plots/bar-horizontal/metadata/highcharts.yaml
+++ b/plots/bar-horizontal/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text readability with appropriately scaled font sizes for 4800×2700
diff --git a/plots/bar-horizontal/metadata/letsplot.yaml b/plots/bar-horizontal/metadata/letsplot.yaml
index c5c6c73672..016fde857c 100644
--- a/plots/bar-horizontal/metadata/letsplot.yaml
+++ b/plots/bar-horizontal/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/letsplot/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of lets-plot ggplot2 grammar with coord_flip for horizontal bars
diff --git a/plots/bar-horizontal/metadata/matplotlib.yaml b/plots/bar-horizontal/metadata/matplotlib.yaml
index 44e67c225a..a432e32d76 100644
--- a/plots/bar-horizontal/metadata/matplotlib.yaml
+++ b/plots/bar-horizontal/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text legibility with appropriate font sizes for all elements
diff --git a/plots/bar-horizontal/metadata/plotly.yaml b/plots/bar-horizontal/metadata/plotly.yaml
index b2daa2e290..532e431586 100644
--- a/plots/bar-horizontal/metadata/plotly.yaml
+++ b/plots/bar-horizontal/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized fonts for 4800x2700 output
diff --git a/plots/bar-horizontal/metadata/plotnine.yaml b/plots/bar-horizontal/metadata/plotnine.yaml
index d7aba384ca..b5e8ecf8c5 100644
--- a/plots/bar-horizontal/metadata/plotnine.yaml
+++ b/plots/bar-horizontal/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/plotnine/plot_thumb.png
preview_html: null
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layering (geom_bar +
diff --git a/plots/bar-horizontal/metadata/pygal.yaml b/plots/bar-horizontal/metadata/pygal.yaml
index e4d50f80ef..84c6eb408b 100644
--- a/plots/bar-horizontal/metadata/pygal.yaml
+++ b/plots/bar-horizontal/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, professional visual design with consistent steel blue color
diff --git a/plots/bar-horizontal/metadata/seaborn.yaml b/plots/bar-horizontal/metadata/seaborn.yaml
index 12da91c278..64932a057d 100644
--- a/plots/bar-horizontal/metadata/seaborn.yaml
+++ b/plots/bar-horizontal/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-horizontal/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized text and properly sorted bars
diff --git a/plots/bar-permutation-importance/metadata/altair.yaml b/plots/bar-permutation-importance/metadata/altair.yaml
index 98104f2bca..c624a249a0 100644
--- a/plots/bar-permutation-importance/metadata/altair.yaml
+++ b/plots/bar-permutation-importance/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of horizontal bar chart with proper sorting by importance
diff --git a/plots/bar-permutation-importance/metadata/bokeh.yaml b/plots/bar-permutation-importance/metadata/bokeh.yaml
index c9eaeea6aa..1721c52633 100644
--- a/plots/bar-permutation-importance/metadata/bokeh.yaml
+++ b/plots/bar-permutation-importance/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- 'Excellent implementation of all spec requirements: sorted bars, error bars, color
diff --git a/plots/bar-permutation-importance/metadata/highcharts.yaml b/plots/bar-permutation-importance/metadata/highcharts.yaml
index 9c55d6f47b..c1b6e333d8 100644
--- a/plots/bar-permutation-importance/metadata/highcharts.yaml
+++ b/plots/bar-permutation-importance/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/highcharts/plot.html
quality_score: null
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts-specific features including error bar series overlay
diff --git a/plots/bar-permutation-importance/metadata/letsplot.yaml b/plots/bar-permutation-importance/metadata/letsplot.yaml
index 9215da5f51..d7a59b8b1c 100644
--- a/plots/bar-permutation-importance/metadata/letsplot.yaml
+++ b/plots/bar-permutation-importance/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and properly spaced bars
diff --git a/plots/bar-permutation-importance/metadata/matplotlib.yaml b/plots/bar-permutation-importance/metadata/matplotlib.yaml
index c1a9459d92..8d9a5863d7 100644
--- a/plots/bar-permutation-importance/metadata/matplotlib.yaml
+++ b/plots/bar-permutation-importance/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent implementation of all specification requirements including sorted bars,
diff --git a/plots/bar-permutation-importance/metadata/plotly.yaml b/plots/bar-permutation-importance/metadata/plotly.yaml
index cdaffce3fe..d59bf97f72 100644
--- a/plots/bar-permutation-importance/metadata/plotly.yaml
+++ b/plots/bar-permutation-importance/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual hierarchy with clear color gradient distinguishing importance
diff --git a/plots/bar-permutation-importance/metadata/plotnine.yaml b/plots/bar-permutation-importance/metadata/plotnine.yaml
index 148be40310..51f3ae298b 100644
--- a/plots/bar-permutation-importance/metadata/plotnine.yaml
+++ b/plots/bar-permutation-importance/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/plotnine/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and proper font hierarchy
diff --git a/plots/bar-permutation-importance/metadata/pygal.yaml b/plots/bar-permutation-importance/metadata/pygal.yaml
index f0d662919e..9507b13753 100644
--- a/plots/bar-permutation-importance/metadata/pygal.yaml
+++ b/plots/bar-permutation-importance/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/pygal/plot.html
quality_score: 83
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Creative use of HorizontalStackedBar to simulate error bars by stacking std on
diff --git a/plots/bar-permutation-importance/metadata/seaborn.yaml b/plots/bar-permutation-importance/metadata/seaborn.yaml
index a47936fe67..ca93b4a71f 100644
--- a/plots/bar-permutation-importance/metadata/seaborn.yaml
+++ b/plots/bar-permutation-importance/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-permutation
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-permutation-importance/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques: []
+ patterns:
+ - dataset-loading
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent implementation of the spec with all required features: sorted bars,
diff --git a/plots/bar-sorted/metadata/altair.yaml b/plots/bar-sorted/metadata/altair.yaml
index f93fe8f007..80bec48c42 100644
--- a/plots/bar-sorted/metadata/altair.yaml
+++ b/plots/bar-sorted/metadata/altair.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative grammar with sort=-x for automatic sorting
diff --git a/plots/bar-sorted/metadata/bokeh.yaml b/plots/bar-sorted/metadata/bokeh.yaml
index 57d651379f..44ff0c5471 100644
--- a/plots/bar-sorted/metadata/bokeh.yaml
+++ b/plots/bar-sorted/metadata/bokeh.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Clean descending sort visualization with excellent visual hierarchy
diff --git a/plots/bar-sorted/metadata/highcharts.yaml b/plots/bar-sorted/metadata/highcharts.yaml
index 9fe710f76c..6f0c3334da 100644
--- a/plots/bar-sorted/metadata/highcharts.yaml
+++ b/plots/bar-sorted/metadata/highcharts.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing for 4800x2700 canvas with highly readable labels
diff --git a/plots/bar-sorted/metadata/letsplot.yaml b/plots/bar-sorted/metadata/letsplot.yaml
index ad47f40913..ac6c33ad35 100644
--- a/plots/bar-sorted/metadata/letsplot.yaml
+++ b/plots/bar-sorted/metadata/letsplot.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of horizontal orientation (coord_flip) for better label readability
diff --git a/plots/bar-sorted/metadata/matplotlib.yaml b/plots/bar-sorted/metadata/matplotlib.yaml
index 8eb9506426..32edc30b91 100644
--- a/plots/bar-sorted/metadata/matplotlib.yaml
+++ b/plots/bar-sorted/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal bar orientation making category labels highly readable
diff --git a/plots/bar-sorted/metadata/plotly.yaml b/plots/bar-sorted/metadata/plotly.yaml
index 49ecf87710..f43d750ec4 100644
--- a/plots/bar-sorted/metadata/plotly.yaml
+++ b/plots/bar-sorted/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal bar orientation choice for category labels readability
diff --git a/plots/bar-sorted/metadata/plotnine.yaml b/plots/bar-sorted/metadata/plotnine.yaml
index 688431095d..ac8d7e7e62 100644
--- a/plots/bar-sorted/metadata/plotnine.yaml
+++ b/plots/bar-sorted/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pd.Categorical to enforce sort order in plotnine
diff --git a/plots/bar-sorted/metadata/pygal.yaml b/plots/bar-sorted/metadata/pygal.yaml
index 3000259881..7ce44b343f 100644
--- a/plots/bar-sorted/metadata/pygal.yaml
+++ b/plots/bar-sorted/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent sorting implementation with proper reversal for pygal bottom-to-top
diff --git a/plots/bar-sorted/metadata/seaborn.yaml b/plots/bar-sorted/metadata/seaborn.yaml
index 8d1c0f8f4a..3248caf2b0 100644
--- a/plots/bar-sorted/metadata/seaborn.yaml
+++ b/plots/bar-sorted/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-sorted/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal layout choice for long category labels, following spec recommendation
diff --git a/plots/bar-stacked-percent/metadata/altair.yaml b/plots/bar-stacked-percent/metadata/altair.yaml
index 63d3d5ade9..0fb9840422 100644
--- a/plots/bar-stacked-percent/metadata/altair.yaml
+++ b/plots/bar-stacked-percent/metadata/altair.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/altair/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair's declarative grammar with proper encoding types (:N,
diff --git a/plots/bar-stacked-percent/metadata/bokeh.yaml b/plots/bar-stacked-percent/metadata/bokeh.yaml
index e64a5a46cb..3b8976498f 100644
--- a/plots/bar-stacked-percent/metadata/bokeh.yaml
+++ b/plots/bar-stacked-percent/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/bokeh/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ - columndatasource
+ patterns:
+ - explicit-figure
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of ColumnDataSource and LabelSet for in-segment percentage labels
diff --git a/plots/bar-stacked-percent/metadata/highcharts.yaml b/plots/bar-stacked-percent/metadata/highcharts.yaml
index 5d0293d7c8..05f9cbdda0 100644
--- a/plots/bar-stacked-percent/metadata/highcharts.yaml
+++ b/plots/bar-stacked-percent/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent colorblind-safe color palette with good contrast between segments
diff --git a/plots/bar-stacked-percent/metadata/letsplot.yaml b/plots/bar-stacked-percent/metadata/letsplot.yaml
index 847a9fec26..769c583eee 100644
--- a/plots/bar-stacked-percent/metadata/letsplot.yaml
+++ b/plots/bar-stacked-percent/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of position=fill for proper 100% stacking normalization
diff --git a/plots/bar-stacked-percent/metadata/matplotlib.yaml b/plots/bar-stacked-percent/metadata/matplotlib.yaml
index e9e825cc06..36f72fd4e3 100644
--- a/plots/bar-stacked-percent/metadata/matplotlib.yaml
+++ b/plots/bar-stacked-percent/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - explicit-figure
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent data storytelling with realistic European energy mix showing diverse
diff --git a/plots/bar-stacked-percent/metadata/plotly.yaml b/plots/bar-stacked-percent/metadata/plotly.yaml
index 8c941eacd0..42adc0b039 100644
--- a/plots/bar-stacked-percent/metadata/plotly.yaml
+++ b/plots/bar-stacked-percent/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent use of realistic energy data showing diverse compositions across countries
diff --git a/plots/bar-stacked-percent/metadata/plotnine.yaml b/plots/bar-stacked-percent/metadata/plotnine.yaml
index 2010c31ce3..d2d2a17c6f 100644
--- a/plots/bar-stacked-percent/metadata/plotnine.yaml
+++ b/plots/bar-stacked-percent/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - groupby-aggregation
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent use of position_fill() for 100% stacking with matching text positioning
diff --git a/plots/bar-stacked-percent/metadata/pygal.yaml b/plots/bar-stacked-percent/metadata/pygal.yaml
index 22795ccba8..83ab2a46b6 100644
--- a/plots/bar-stacked-percent/metadata/pygal.yaml
+++ b/plots/bar-stacked-percent/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent real-world data scenario showing energy mix by country with meaningful
diff --git a/plots/bar-stacked-percent/metadata/seaborn.yaml b/plots/bar-stacked-percent/metadata/seaborn.yaml
index 8ce40cb741..1d2d47319c 100644
--- a/plots/bar-stacked-percent/metadata/seaborn.yaml
+++ b/plots/bar-stacked-percent/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-per
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked-percent/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - explicit-figure
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent visual presentation with clear percentage labels inside each segment
@@ -24,14 +33,25 @@ review:
used for sns.despine() styling - should leverage seaborn native bar plotting functions
more
- Legend placement outside the plot creates additional whitespace on the right side
- image_description: |-
- The plot shows a 100% stacked bar chart displaying market share data across 6 quarters (Q1 2023 to Q2 2024) for 4 companies. Each bar reaches exactly 100% and is divided into 4 colored segments:
+ image_description: 'The plot shows a 100% stacked bar chart displaying market share
+ data across 6 quarters (Q1 2023 to Q2 2024) for 4 companies. Each bar reaches
+ exactly 100% and is divided into 4 colored segments:
+
- **Company A** (dark blue, #306998) - at the bottom, declining from 35% to 24%
+
- **Company B** (yellow, #FFD43B) - second from bottom, growing from 25% to 34%
- - **Company C** (teal, #4ECDC4) - third segment, growing slightly from 22% to 27%
+
+ - **Company C** (teal, #4ECDC4) - third segment, growing slightly from 22% to
+ 27%
+
- **Company D** (coral/salmon, #E76F51) - top segment, declining from 18% to 15%
- The title reads "bar-stacked-percent · seaborn · pyplots.ai" at the top. X-axis shows "Quarter" with 6 quarter labels, Y-axis shows "Market Share (%)" from 0-100. Percentage labels are displayed inside each segment (white text on dark colors, dark text on yellow). The legend is positioned outside the plot on the upper right. A subtle horizontal grid is visible. The layout is clean and professional.
+
+ The title reads "bar-stacked-percent · seaborn · pyplots.ai" at the top. X-axis
+ shows "Quarter" with 6 quarter labels, Y-axis shows "Market Share (%)" from 0-100.
+ Percentage labels are displayed inside each segment (white text on dark colors,
+ dark text on yellow). The legend is positioned outside the plot on the upper right.
+ A subtle horizontal grid is visible. The layout is clean and professional.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/bar-stacked/metadata/altair.yaml b/plots/bar-stacked/metadata/altair.yaml
index 26c54a5fdd..f5c9ed7d0a 100644
--- a/plots/bar-stacked/metadata/altair.yaml
+++ b/plots/bar-stacked/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent use of Altair declarative grammar with proper encoding types (O, Q,
diff --git a/plots/bar-stacked/metadata/bokeh.yaml b/plots/bar-stacked/metadata/bokeh.yaml
index 2e2b9f4f13..dfa54744cf 100644
--- a/plots/bar-stacked/metadata/bokeh.yaml
+++ b/plots/bar-stacked/metadata/bokeh.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - custom-legend
+ patterns:
+ - columndatasource
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent text legibility with appropriately scaled font sizes for the 4800×2700
diff --git a/plots/bar-stacked/metadata/highcharts.yaml b/plots/bar-stacked/metadata/highcharts.yaml
index ed9227625c..68b8adfd39 100644
--- a/plots/bar-stacked/metadata/highcharts.yaml
+++ b/plots/bar-stacked/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data storytelling showing energy transition narrative (solar growth,
diff --git a/plots/bar-stacked/metadata/letsplot.yaml b/plots/bar-stacked/metadata/letsplot.yaml
index d36e783205..73ac226956 100644
--- a/plots/bar-stacked/metadata/letsplot.yaml
+++ b/plots/bar-stacked/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of lets-plot ggplot2-style grammar with clean, readable code
diff --git a/plots/bar-stacked/metadata/matplotlib.yaml b/plots/bar-stacked/metadata/matplotlib.yaml
index 0c2d2748b2..b8c142fc4d 100644
--- a/plots/bar-stacked/metadata/matplotlib.yaml
+++ b/plots/bar-stacked/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent text legibility with appropriate font sizes throughout
diff --git a/plots/bar-stacked/metadata/plotly.yaml b/plots/bar-stacked/metadata/plotly.yaml
index f390253421..3cf21f5930 100644
--- a/plots/bar-stacked/metadata/plotly.yaml
+++ b/plots/bar-stacked/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/plotly/plot.html
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of annotations for total values above each stack
diff --git a/plots/bar-stacked/metadata/plotnine.yaml b/plots/bar-stacked/metadata/plotnine.yaml
index 7965a542bf..22dc7d390b 100644
--- a/plots/bar-stacked/metadata/plotnine.yaml
+++ b/plots/bar-stacked/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of plotnine grammar of graphics with clean ggplot syntax
diff --git a/plots/bar-stacked/metadata/pygal.yaml b/plots/bar-stacked/metadata/pygal.yaml
index 9c0683a01a..ebccc0ddcb 100644
--- a/plots/bar-stacked/metadata/pygal.yaml
+++ b/plots/bar-stacked/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of value labels displayed within each segment for precise reading
diff --git a/plots/bar-stacked/metadata/seaborn.yaml b/plots/bar-stacked/metadata/seaborn.yaml
index 4fc36cb768..57db4d8adc 100644
--- a/plots/bar-stacked/metadata/seaborn.yaml
+++ b/plots/bar-stacked/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bar-stacked/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - groupby-aggregation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent visual design with clear color differentiation and white edge lines
diff --git a/plots/bland-altman-basic/metadata/altair.yaml b/plots/bland-altman-basic/metadata/altair.yaml
index 133d8d4c0b..6902899a03 100644
--- a/plots/bland-altman-basic/metadata/altair.yaml
+++ b/plots/bland-altman-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all required Bland-Altman components (mean bias line,
diff --git a/plots/bland-altman-basic/metadata/bokeh.yaml b/plots/bland-altman-basic/metadata/bokeh.yaml
index 062fcaf929..276f09e46b 100644
--- a/plots/bland-altman-basic/metadata/bokeh.yaml
+++ b/plots/bland-altman-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all Bland-Altman components (bias line, limits of
diff --git a/plots/bland-altman-basic/metadata/highcharts.yaml b/plots/bland-altman-basic/metadata/highcharts.yaml
index 35351742e1..49c7baf037 100644
--- a/plots/bland-altman-basic/metadata/highcharts.yaml
+++ b/plots/bland-altman-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all Bland-Altman statistical elements (mean, ±1.96
diff --git a/plots/bland-altman-basic/metadata/letsplot.yaml b/plots/bland-altman-basic/metadata/letsplot.yaml
index 9d5f407433..83410e4d39 100644
--- a/plots/bland-altman-basic/metadata/letsplot.yaml
+++ b/plots/bland-altman-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent annotation implementation using geom_label with color-matched text and
diff --git a/plots/bland-altman-basic/metadata/matplotlib.yaml b/plots/bland-altman-basic/metadata/matplotlib.yaml
index ee1be7c570..a838c974c2 100644
--- a/plots/bland-altman-basic/metadata/matplotlib.yaml
+++ b/plots/bland-altman-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the Bland-Altman statistical methodology with correct
diff --git a/plots/bland-altman-basic/metadata/plotly.yaml b/plots/bland-altman-basic/metadata/plotly.yaml
index aeee8da087..ac42c90881 100644
--- a/plots/bland-altman-basic/metadata/plotly.yaml
+++ b/plots/bland-altman-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Plotly add_hline with annotation positioning for the reference
diff --git a/plots/bland-altman-basic/metadata/pygal.yaml b/plots/bland-altman-basic/metadata/pygal.yaml
index 1376e68086..2ea4931a27 100644
--- a/plots/bland-altman-basic/metadata/pygal.yaml
+++ b/plots/bland-altman-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/pygal/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of pygal XY chart with custom styling for the 4800x2700 canvas
diff --git a/plots/bland-altman-basic/metadata/seaborn.yaml b/plots/bland-altman-basic/metadata/seaborn.yaml
index f2b96d52d5..5cbb7c2089 100644
--- a/plots/bland-altman-basic/metadata/seaborn.yaml
+++ b/plots/bland-altman-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bland-altman-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bland-altman-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Bland-Altman statistics with correct mean difference
diff --git a/plots/box-basic/metadata/altair.yaml b/plots/box-basic/metadata/altair.yaml
index 7cdd1fd7ff..89479199e9 100644
--- a/plots/box-basic/metadata/altair.yaml
+++ b/plots/box-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative syntax with proper encoding types (N for nominal,
diff --git a/plots/box-basic/metadata/bokeh.yaml b/plots/box-basic/metadata/bokeh.yaml
index be212bfb4c..74986d6f3f 100644
--- a/plots/box-basic/metadata/bokeh.yaml
+++ b/plots/box-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent data design with varied distributions showcasing all box plot features
diff --git a/plots/box-basic/metadata/highcharts.yaml b/plots/box-basic/metadata/highcharts.yaml
index aa472b64d2..12574bfdc8 100644
--- a/plots/box-basic/metadata/highcharts.yaml
+++ b/plots/box-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all box plot components (median, quartiles, whiskers,
diff --git a/plots/box-basic/metadata/letsplot.yaml b/plots/box-basic/metadata/letsplot.yaml
index fc6e624747..54636675e6 100644
--- a/plots/box-basic/metadata/letsplot.yaml
+++ b/plots/box-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-basic/letsplot/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of realistic salary data with appropriate distributions per department
diff --git a/plots/box-basic/metadata/matplotlib.yaml b/plots/box-basic/metadata/matplotlib.yaml
index 6533d6c53d..893fccce6c 100644
--- a/plots/box-basic/metadata/matplotlib.yaml
+++ b/plots/box-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing with proper font hierarchy (24/20/16pt)
diff --git a/plots/box-basic/metadata/plotly.yaml b/plots/box-basic/metadata/plotly.yaml
index d110584c1a..a5de506e01 100644
--- a/plots/box-basic/metadata/plotly.yaml
+++ b/plots/box-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing with title at 32pt and axis labels at 24pt for high readability
diff --git a/plots/box-basic/metadata/plotnine.yaml b/plots/box-basic/metadata/plotnine.yaml
index 8a8ef120b0..df7aa67f16 100644
--- a/plots/box-basic/metadata/plotnine.yaml
+++ b/plots/box-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with clean ggplot syntax
diff --git a/plots/box-basic/metadata/pygal.yaml b/plots/box-basic/metadata/pygal.yaml
index 977bfd040c..c8dfd95cc3 100644
--- a/plots/box-basic/metadata/pygal.yaml
+++ b/plots/box-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data choice with realistic salary distributions across departments
diff --git a/plots/box-basic/metadata/seaborn.yaml b/plots/box-basic/metadata/seaborn.yaml
index c0bcec957a..9c87296efa 100644
--- a/plots/box-basic/metadata/seaborn.yaml
+++ b/plots/box-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-basic/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent realistic data scenario with salary distributions across departments
diff --git a/plots/box-grouped/metadata/altair.yaml b/plots/box-grouped/metadata/altair.yaml
index 7477358945..04b476ee3f 100644
--- a/plots/box-grouped/metadata/altair.yaml
+++ b/plots/box-grouped/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-grouped/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair's xOffset encoding for clean side-by-side grouping
diff --git a/plots/box-grouped/metadata/bokeh.yaml b/plots/box-grouped/metadata/bokeh.yaml
index 0905747eca..24b3a41e74 100644
--- a/plots/box-grouped/metadata/bokeh.yaml
+++ b/plots/box-grouped/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-grouped/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized text elements (36pt title, 28pt labels,
diff --git a/plots/box-grouped/metadata/highcharts.yaml b/plots/box-grouped/metadata/highcharts.yaml
index e84a16f489..92f8e3369b 100644
--- a/plots/box-grouped/metadata/highcharts.yaml
+++ b/plots/box-grouped/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-grouped/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-safe palette (blue, yellow, purple)
diff --git a/plots/box-grouped/metadata/letsplot.yaml b/plots/box-grouped/metadata/letsplot.yaml
index 5c1b382d23..91341d6a6b 100644
--- a/plots/box-grouped/metadata/letsplot.yaml
+++ b/plots/box-grouped/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-grouped/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with well-sized fonts throughout (28pt title, 22pt labels,
diff --git a/plots/box-grouped/metadata/matplotlib.yaml b/plots/box-grouped/metadata/matplotlib.yaml
index 3434943416..2d5bb7d58e 100644
--- a/plots/box-grouped/metadata/matplotlib.yaml
+++ b/plots/box-grouped/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - manual-ticks
+ - edge-highlighting
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent grouped box plot with clear visual separation between experience levels
diff --git a/plots/box-grouped/metadata/plotly.yaml b/plots/box-grouped/metadata/plotly.yaml
index 3a10b23a71..b5bf17420d 100644
--- a/plots/box-grouped/metadata/plotly.yaml
+++ b/plots/box-grouped/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-grouped/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color palette choice (blue/yellow/teal) that is both visually appealing
diff --git a/plots/box-grouped/metadata/plotnine.yaml b/plots/box-grouped/metadata/plotnine.yaml
index c09eba0400..d7cb1a0e92 100644
--- a/plots/box-grouped/metadata/plotnine.yaml
+++ b/plots/box-grouped/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layered construction
diff --git a/plots/box-grouped/metadata/pygal.yaml b/plots/box-grouped/metadata/pygal.yaml
index e0704b6cc2..0684025821 100644
--- a/plots/box-grouped/metadata/pygal.yaml
+++ b/plots/box-grouped/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-grouped/pygal/plot.html
quality_score: 85
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Colorblind-safe color palette (blue, orange, teal) provides excellent accessibility
diff --git a/plots/box-grouped/metadata/seaborn.yaml b/plots/box-grouped/metadata/seaborn.yaml
index 4b2ad06cce..56afbae8a0 100644
--- a/plots/box-grouped/metadata/seaborn.yaml
+++ b/plots/box-grouped/metadata/seaborn.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-grouped/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-grouped/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data generation with realistic department/experience level scenario
diff --git a/plots/box-horizontal/metadata/altair.yaml b/plots/box-horizontal/metadata/altair.yaml
index 66c0faf2d6..5d2c2a734c 100644
--- a/plots/box-horizontal/metadata/altair.yaml
+++ b/plots/box-horizontal/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design with 6 service types showing varied distributions, outliers,
diff --git a/plots/box-horizontal/metadata/bokeh.yaml b/plots/box-horizontal/metadata/bokeh.yaml
index 600f44d9c5..22ba2a4a7a 100644
--- a/plots/box-horizontal/metadata/bokeh.yaml
+++ b/plots/box-horizontal/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent horizontal box plot implementation with all statistical elements (median,
diff --git a/plots/box-horizontal/metadata/highcharts.yaml b/plots/box-horizontal/metadata/highcharts.yaml
index e21a19e3be..69908bcbfb 100644
--- a/plots/box-horizontal/metadata/highcharts.yaml
+++ b/plots/box-horizontal/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent realistic data scenario using API response times by service type
diff --git a/plots/box-horizontal/metadata/letsplot.yaml b/plots/box-horizontal/metadata/letsplot.yaml
index 2fe0fb4959..95ad1784d6 100644
--- a/plots/box-horizontal/metadata/letsplot.yaml
+++ b/plots/box-horizontal/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design with varied distributions showcasing boxplot features (different
diff --git a/plots/box-horizontal/metadata/matplotlib.yaml b/plots/box-horizontal/metadata/matplotlib.yaml
index a2a1be9a92..60139851f0 100644
--- a/plots/box-horizontal/metadata/matplotlib.yaml
+++ b/plots/box-horizontal/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data variety showcasing different distribution types (tight, wide, skewed,
diff --git a/plots/box-horizontal/metadata/plotly.yaml b/plots/box-horizontal/metadata/plotly.yaml
index a4a5ccec7c..ad7901c1b5 100644
--- a/plots/box-horizontal/metadata/plotly.yaml
+++ b/plots/box-horizontal/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data generation with realistic service response time distributions showing
diff --git a/plots/box-horizontal/metadata/plotnine.yaml b/plots/box-horizontal/metadata/plotnine.yaml
index a76c97c61b..9f637ad915 100644
--- a/plots/box-horizontal/metadata/plotnine.yaml
+++ b/plots/box-horizontal/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design with realistic service response time scenario showing varied
diff --git a/plots/box-horizontal/metadata/pygal.yaml b/plots/box-horizontal/metadata/pygal.yaml
index 2bbf1dc810..a8baccc21c 100644
--- a/plots/box-horizontal/metadata/pygal.yaml
+++ b/plots/box-horizontal/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/pygal/plot.html
quality_score: 68
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Creative solution using dynamic class creation to achieve horizontal box plot
diff --git a/plots/box-horizontal/metadata/seaborn.yaml b/plots/box-horizontal/metadata/seaborn.yaml
index ac1db25b97..3e685d9ddb 100644
--- a/plots/box-horizontal/metadata/seaborn.yaml
+++ b/plots/box-horizontal/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-horizontal/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design showing diverse distributions with outliers, tight spreads,
diff --git a/plots/box-notched/metadata/altair.yaml b/plots/box-notched/metadata/altair.yaml
index ac6dd480f0..7b9403220c 100644
--- a/plots/box-notched/metadata/altair.yaml
+++ b/plots/box-notched/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-notched/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual implementation of notched box plots since Altair lacks native
diff --git a/plots/box-notched/metadata/bokeh.yaml b/plots/box-notched/metadata/bokeh.yaml
index cf024e50b3..9a1fb11431 100644
--- a/plots/box-notched/metadata/bokeh.yaml
+++ b/plots/box-notched/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-notched/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - columndatasource
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of notched box plots using Bokeh primitives (quad, patch,
diff --git a/plots/box-notched/metadata/highcharts.yaml b/plots/box-notched/metadata/highcharts.yaml
index 2cafcf3740..019d0ccf1f 100644
--- a/plots/box-notched/metadata/highcharts.yaml
+++ b/plots/box-notched/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-notched/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent clinical trial context with dose-response relationship clearly visible
diff --git a/plots/box-notched/metadata/letsplot.yaml b/plots/box-notched/metadata/letsplot.yaml
index 2b9bcdfc01..b20512b1b5 100644
--- a/plots/box-notched/metadata/letsplot.yaml
+++ b/plots/box-notched/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-notched/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clear notched box plot with visible notches around medians for statistical comparison
diff --git a/plots/box-notched/metadata/matplotlib.yaml b/plots/box-notched/metadata/matplotlib.yaml
index 5c8f0a6b63..c1efc7580e 100644
--- a/plots/box-notched/metadata/matplotlib.yaml
+++ b/plots/box-notched/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - alpha-blending
review:
strengths:
- Excellent use of notch=True with patch_artist for visually distinct, colored boxes
diff --git a/plots/box-notched/metadata/plotly.yaml b/plots/box-notched/metadata/plotly.yaml
index b13b16d1c2..12969f83c6 100644
--- a/plots/box-notched/metadata/plotly.yaml
+++ b/plots/box-notched/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-notched/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with properly sized text elements and well-chosen font
diff --git a/plots/box-notched/metadata/plotnine.yaml b/plots/box-notched/metadata/plotnine.yaml
index 3695c6df01..d922993673 100644
--- a/plots/box-notched/metadata/plotnine.yaml
+++ b/plots/box-notched/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layering
diff --git a/plots/box-notched/metadata/pygal.yaml b/plots/box-notched/metadata/pygal.yaml
index dbcbdd4c56..370e5e0f66 100644
--- a/plots/box-notched/metadata/pygal.yaml
+++ b/plots/box-notched/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/box-notched/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of notched box plots using creative SVG manipulation
diff --git a/plots/box-notched/metadata/seaborn.yaml b/plots/box-notched/metadata/seaborn.yaml
index c84a03cd25..2b09e62659 100644
--- a/plots/box-notched/metadata/seaborn.yaml
+++ b/plots/box-notched/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/box-notched/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/box-notched/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of seaborn boxplot with notch parameter and proper API (hue with
diff --git a/plots/bubble-basic/metadata/altair.yaml b/plots/bubble-basic/metadata/altair.yaml
index 98e85d689a..7bfccf5062 100644
--- a/plots/bubble-basic/metadata/altair.yaml
+++ b/plots/bubble-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/altair/plot.html
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths: []
weaknesses: []
diff --git a/plots/bubble-basic/metadata/bokeh.yaml b/plots/bubble-basic/metadata/bokeh.yaml
index 8af55cb026..8daa8b99d5 100644
--- a/plots/bubble-basic/metadata/bokeh.yaml
+++ b/plots/bubble-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths: []
weaknesses: []
diff --git a/plots/bubble-basic/metadata/highcharts.yaml b/plots/bubble-basic/metadata/highcharts.yaml
index d7814dca3a..fb6a1f6ab8 100644
--- a/plots/bubble-basic/metadata/highcharts.yaml
+++ b/plots/bubble-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Correct bubble chart implementation with three data dimensions clearly represented
diff --git a/plots/bubble-basic/metadata/letsplot.yaml b/plots/bubble-basic/metadata/letsplot.yaml
index b0c22ab998..c66ae6cb51 100644
--- a/plots/bubble-basic/metadata/letsplot.yaml
+++ b/plots/bubble-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of the ggplot grammar of graphics with clean, readable code structure
diff --git a/plots/bubble-basic/metadata/matplotlib.yaml b/plots/bubble-basic/metadata/matplotlib.yaml
index 81680a904b..db713c4882 100644
--- a/plots/bubble-basic/metadata/matplotlib.yaml
+++ b/plots/bubble-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of area-based size scaling as spec requires
diff --git a/plots/bubble-basic/metadata/plotly.yaml b/plots/bubble-basic/metadata/plotly.yaml
index 51d6fe5130..401874ec56 100644
--- a/plots/bubble-basic/metadata/plotly.yaml
+++ b/plots/bubble-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent title and axis labeling with proper units following spec format exactly
diff --git a/plots/bubble-basic/metadata/plotnine.yaml b/plots/bubble-basic/metadata/plotnine.yaml
index ff2ddadfb4..9b5c82a9f6 100644
--- a/plots/bubble-basic/metadata/plotnine.yaml
+++ b/plots/bubble-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of scale_size_area() for perceptually accurate bubble sizing (scales
diff --git a/plots/bubble-basic/metadata/pygal.yaml b/plots/bubble-basic/metadata/pygal.yaml
index 26aaa79dd8..77c7c2c903 100644
--- a/plots/bubble-basic/metadata/pygal.yaml
+++ b/plots/bubble-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/bubble-basic/metadata/seaborn.yaml b/plots/bubble-basic/metadata/seaborn.yaml
index 499c905da0..d8f74eebc3 100644
--- a/plots/bubble-basic/metadata/seaborn.yaml
+++ b/plots/bubble-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent size legend implementation with proxy bubbles showing three reference
diff --git a/plots/bubble-packed/metadata/altair.yaml b/plots/bubble-packed/metadata/altair.yaml
index 4004947360..a2b6c79c4c 100644
--- a/plots/bubble-packed/metadata/altair.yaml
+++ b/plots/bubble-packed/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent circle packing algorithm with physics simulation that produces tight,
diff --git a/plots/bubble-packed/metadata/bokeh.yaml b/plots/bubble-packed/metadata/bokeh.yaml
index f5a834cc05..55e52912f9 100644
--- a/plots/bubble-packed/metadata/bokeh.yaml
+++ b/plots/bubble-packed/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent force-directed circle packing simulation with proper area-based scaling
diff --git a/plots/bubble-packed/metadata/highcharts.yaml b/plots/bubble-packed/metadata/highcharts.yaml
index a9a0f65108..8957a3d510 100644
--- a/plots/bubble-packed/metadata/highcharts.yaml
+++ b/plots/bubble-packed/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts packedbubble chart type with proper physics simulation
diff --git a/plots/bubble-packed/metadata/letsplot.yaml b/plots/bubble-packed/metadata/letsplot.yaml
index fef4525ded..9195c61bd3 100644
--- a/plots/bubble-packed/metadata/letsplot.yaml
+++ b/plots/bubble-packed/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent force-directed packing simulation implemented inline - bubbles are tightly
diff --git a/plots/bubble-packed/metadata/matplotlib.yaml b/plots/bubble-packed/metadata/matplotlib.yaml
index 9038a5fd5d..78a38059c7 100644
--- a/plots/bubble-packed/metadata/matplotlib.yaml
+++ b/plots/bubble-packed/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent physics-based circle packing algorithm with 350 iterations ensuring
diff --git a/plots/bubble-packed/metadata/plotly.yaml b/plots/bubble-packed/metadata/plotly.yaml
index 4ccf0bb6a1..1d33520167 100644
--- a/plots/bubble-packed/metadata/plotly.yaml
+++ b/plots/bubble-packed/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent force-directed circle packing algorithm implementation that correctly
diff --git a/plots/bubble-packed/metadata/plotnine.yaml b/plots/bubble-packed/metadata/plotnine.yaml
index 40e6306e53..5cf1918477 100644
--- a/plots/bubble-packed/metadata/plotnine.yaml
+++ b/plots/bubble-packed/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of circle packing algorithm with force simulation for
diff --git a/plots/bubble-packed/metadata/pygal.yaml b/plots/bubble-packed/metadata/pygal.yaml
index 5bd248bed8..f4c3958b7a 100644
--- a/plots/bubble-packed/metadata/pygal.yaml
+++ b/plots/bubble-packed/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent creative implementation using pygal XML filter to draw custom packed
diff --git a/plots/bubble-packed/metadata/seaborn.yaml b/plots/bubble-packed/metadata/seaborn.yaml
index 35c606d274..287ecc3c36 100644
--- a/plots/bubble-packed/metadata/seaborn.yaml
+++ b/plots/bubble-packed/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bubble-packed/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
+ - minimal-chrome
review:
strengths:
- Excellent circle packing algorithm that produces non-overlapping bubbles packed
diff --git a/plots/bullet-basic/metadata/altair.yaml b/plots/bullet-basic/metadata/altair.yaml
index 37ce398268..6ab5ae8aad 100644
--- a/plots/bullet-basic/metadata/altair.yaml
+++ b/plots/bullet-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent implementation of bullet chart pattern using Altair layering capability
diff --git a/plots/bullet-basic/metadata/bokeh.yaml b/plots/bullet-basic/metadata/bokeh.yaml
index 3cec0d787a..3d08b6961f 100644
--- a/plots/bullet-basic/metadata/bokeh.yaml
+++ b/plots/bullet-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with clear grayscale qualitative bands that do not distract
diff --git a/plots/bullet-basic/metadata/highcharts.yaml b/plots/bullet-basic/metadata/highcharts.yaml
index 8967c8f4c6..b56c490294 100644
--- a/plots/bullet-basic/metadata/highcharts.yaml
+++ b/plots/bullet-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent use of Highcharts native bullet chart module with proper targetOptions
diff --git a/plots/bullet-basic/metadata/letsplot.yaml b/plots/bullet-basic/metadata/letsplot.yaml
index 7bba857f2c..78e3232b7e 100644
--- a/plots/bullet-basic/metadata/letsplot.yaml
+++ b/plots/bullet-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/letsplot/plot.html
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent implementation of bullet chart using lets-plot ggplot2 grammar with
diff --git a/plots/bullet-basic/metadata/matplotlib.yaml b/plots/bullet-basic/metadata/matplotlib.yaml
index a182f2ec12..2bb7525eef 100644
--- a/plots/bullet-basic/metadata/matplotlib.yaml
+++ b/plots/bullet-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent multi-metric bullet chart implementation showing diverse KPIs with different
@@ -22,13 +31,24 @@ review:
- Realistic business dashboard scenario with meaningful metrics
weaknesses:
- No x-axis label (though justified by different units per metric)
- image_description: |-
- The plot displays 4 horizontal bullet charts stacked vertically, each representing a different KPI metric. From top to bottom: Revenue (275$K actual vs 250 target), Profit (45% actual vs 50 target), New Customers (85 actual vs 100 target), and Satisfaction (4.2/5 actual vs 4.5 target). Each bullet chart features:
+ image_description: 'The plot displays 4 horizontal bullet charts stacked vertically,
+ each representing a different KPI metric. From top to bottom: Revenue (275$K actual
+ vs 250 target), Profit (45% actual vs 50 target), New Customers (85 actual vs
+ 100 target), and Satisfaction (4.2/5 actual vs 4.5 target). Each bullet chart
+ features:
+
- A blue (#306998) horizontal bar showing the actual value
+
- A black vertical marker line indicating the target
- - Three grayscale background bands (light gray for Poor, medium gray for Satisfactory, darker gray for Good)
+
+ - Three grayscale background bands (light gray for Poor, medium gray for Satisfactory,
+ darker gray for Good)
+
- Value labels displayed to the right of each bar with appropriate units
- The title "bullet-basic · matplotlib · pyplots.ai" is centered at the top. A legend in the lower right corner explains the color coding. The layout is clean with subtle dotted vertical grid lines.
+
+ The title "bullet-basic · matplotlib · pyplots.ai" is centered at the top. A legend
+ in the lower right corner explains the color coding. The layout is clean with
+ subtle dotted vertical grid lines.'
criteria_checklist:
visual_quality:
score: 37
diff --git a/plots/bullet-basic/metadata/plotly.yaml b/plots/bullet-basic/metadata/plotly.yaml
index 00e326e952..f5305584fa 100644
--- a/plots/bullet-basic/metadata/plotly.yaml
+++ b/plots/bullet-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of bullet chart concept using overlaid horizontal bars
diff --git a/plots/bullet-basic/metadata/plotnine.yaml b/plots/bullet-basic/metadata/plotnine.yaml
index d9bb8bad92..dfcdbf01f1 100644
--- a/plots/bullet-basic/metadata/plotnine.yaml
+++ b/plots/bullet-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent implementation of bullet chart using plotnine grammar of graphics approach
diff --git a/plots/bullet-basic/metadata/pygal.yaml b/plots/bullet-basic/metadata/pygal.yaml
index d0fda90729..18b2987e44 100644
--- a/plots/bullet-basic/metadata/pygal.yaml
+++ b/plots/bullet-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent creative solution using HorizontalStackedBar with custom SVG injection
diff --git a/plots/bullet-basic/metadata/seaborn.yaml b/plots/bullet-basic/metadata/seaborn.yaml
index 1ba1ac4d6a..019043f0ce 100644
--- a/plots/bullet-basic/metadata/seaborn.yaml
+++ b/plots/bullet-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bullet-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design following spec recommendations (grayscale bands, contrasting
@@ -24,14 +33,25 @@ review:
- Seaborn is minimally utilized - only sns.barplot for the actual value bars, while
most visualization work is done with matplotlib. Could better leverage seaborn
DataFrame-centric approach or styling capabilities.
- image_description: |-
- The plot displays a horizontal bullet chart with four KPI metrics (Revenue, Customer Satisfaction, Efficiency, Quality Score) stacked vertically. Each metric shows:
- - **Grayscale background bands** in three shades (light gray for Poor, medium gray for Satisfactory, dark gray for Good)
+ image_description: 'The plot displays a horizontal bullet chart with four KPI metrics
+ (Revenue, Customer Satisfaction, Efficiency, Quality Score) stacked vertically.
+ Each metric shows:
+
+ - **Grayscale background bands** in three shades (light gray for Poor, medium
+ gray for Satisfactory, dark gray for Good)
+
- **Blue horizontal bars** (#306998 Python Blue) representing actual values
+
- **Black vertical marker lines** indicating targets
- - **Blue percentage labels** (78%, 85%, 62%, 91%) positioned to the right of each bar
- The title "bullet-basic · seaborn · pyplots.ai" is displayed at the top in bold. X-axis shows "Performance (%)" from 0-100. A well-positioned legend in the upper right explains all elements. The layout is clean with subtle vertical grid lines and no overlapping elements.
+ - **Blue percentage labels** (78%, 85%, 62%, 91%) positioned to the right of each
+ bar
+
+
+ The title "bullet-basic · seaborn · pyplots.ai" is displayed at the top in bold.
+ X-axis shows "Performance (%)" from 0-100. A well-positioned legend in the upper
+ right explains all elements. The layout is clean with subtle vertical grid lines
+ and no overlapping elements.'
criteria_checklist:
visual_quality:
score: 38
diff --git a/plots/bump-basic/metadata/altair.yaml b/plots/bump-basic/metadata/altair.yaml
index a7ec72d98c..63d87b05ee 100644
--- a/plots/bump-basic/metadata/altair.yaml
+++ b/plots/bump-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bump-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent choice of Premier League standings as realistic bump chart scenario
diff --git a/plots/bump-basic/metadata/bokeh.yaml b/plots/bump-basic/metadata/bokeh.yaml
index ee97a3e18b..9b4d7059a8 100644
--- a/plots/bump-basic/metadata/bokeh.yaml
+++ b/plots/bump-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bump-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean implementation following KISS principle with clear data→plot→save structure
diff --git a/plots/bump-basic/metadata/highcharts.yaml b/plots/bump-basic/metadata/highcharts.yaml
index dc480037f6..f2c0ebe242 100644
--- a/plots/bump-basic/metadata/highcharts.yaml
+++ b/plots/bump-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bump-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Correct implementation of bump chart with inverted Y-axis (rank 1 at top)
diff --git a/plots/bump-basic/metadata/letsplot.yaml b/plots/bump-basic/metadata/letsplot.yaml
index 16b239eeb8..276c7f475e 100644
--- a/plots/bump-basic/metadata/letsplot.yaml
+++ b/plots/bump-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bump-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent use of direct labeling on the right side instead of legend, improving
diff --git a/plots/bump-basic/metadata/matplotlib.yaml b/plots/bump-basic/metadata/matplotlib.yaml
index ff7d7aa1bc..75da35cbdb 100644
--- a/plots/bump-basic/metadata/matplotlib.yaml
+++ b/plots/bump-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Correctly inverted Y-axis with rank 1 at top per spec requirements
diff --git a/plots/bump-basic/metadata/plotly.yaml b/plots/bump-basic/metadata/plotly.yaml
index 45b803f9b1..e122819952 100644
--- a/plots/bump-basic/metadata/plotly.yaml
+++ b/plots/bump-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bump-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of inverted Y-axis to show rank 1 at top (as required by spec)
diff --git a/plots/bump-basic/metadata/plotnine.yaml b/plots/bump-basic/metadata/plotnine.yaml
index 7abce86348..761762d3bd 100644
--- a/plots/bump-basic/metadata/plotnine.yaml
+++ b/plots/bump-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of the bump chart concept with proper Y-axis inversion
diff --git a/plots/bump-basic/metadata/pygal.yaml b/plots/bump-basic/metadata/pygal.yaml
index 0e33735e6e..7e8ebd1c5a 100644
--- a/plots/bump-basic/metadata/pygal.yaml
+++ b/plots/bump-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/bump-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Correctly implements Y-axis inversion using data transformation (inverted_rankings)
diff --git a/plots/bump-basic/metadata/seaborn.yaml b/plots/bump-basic/metadata/seaborn.yaml
index fdadbef4f7..b77d489845 100644
--- a/plots/bump-basic/metadata/seaborn.yaml
+++ b/plots/bump-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/bump-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/bump-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with inverted Y-axis correctly placing rank 1 at top
diff --git a/plots/calibration-curve/metadata/altair.yaml b/plots/calibration-curve/metadata/altair.yaml
index cdc6b8b803..20defdf46c 100644
--- a/plots/calibration-curve/metadata/altair.yaml
+++ b/plots/calibration-curve/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent implementation of calibration curve with all required spec features
diff --git a/plots/calibration-curve/metadata/bokeh.yaml b/plots/calibration-curve/metadata/bokeh.yaml
index 56e80769b7..b72367e117 100644
--- a/plots/calibration-curve/metadata/bokeh.yaml
+++ b/plots/calibration-curve/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - columndatasource
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Correct implementation of calibration curve with all required elements (diagonal
diff --git a/plots/calibration-curve/metadata/highcharts.yaml b/plots/calibration-curve/metadata/highcharts.yaml
index ef8a1744b8..af89b9b2f9 100644
--- a/plots/calibration-curve/metadata/highcharts.yaml
+++ b/plots/calibration-curve/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent implementation of calibration curve with all required elements (diagonal
diff --git a/plots/calibration-curve/metadata/letsplot.yaml b/plots/calibration-curve/metadata/letsplot.yaml
index b84f2b652f..3d8d8d5f13 100644
--- a/plots/calibration-curve/metadata/letsplot.yaml
+++ b/plots/calibration-curve/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent implementation of all spec requirements including diagonal reference
diff --git a/plots/calibration-curve/metadata/matplotlib.yaml b/plots/calibration-curve/metadata/matplotlib.yaml
index 42b4809f02..875c22c610 100644
--- a/plots/calibration-curve/metadata/matplotlib.yaml
+++ b/plots/calibration-curve/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent multi-model comparison showing well-calibrated, overconfident, and underconfident
diff --git a/plots/calibration-curve/metadata/plotly.yaml b/plots/calibration-curve/metadata/plotly.yaml
index 9a5e99a7c4..7441ee671a 100644
--- a/plots/calibration-curve/metadata/plotly.yaml
+++ b/plots/calibration-curve/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent implementation of calibration curve concept with comparison of two models
diff --git a/plots/calibration-curve/metadata/plotnine.yaml b/plots/calibration-curve/metadata/plotnine.yaml
index 5a84c80b72..1a6deb7ccd 100644
--- a/plots/calibration-curve/metadata/plotnine.yaml
+++ b/plots/calibration-curve/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layering of geometric
diff --git a/plots/calibration-curve/metadata/pygal.yaml b/plots/calibration-curve/metadata/pygal.yaml
index 0847b289be..5d71f23231 100644
--- a/plots/calibration-curve/metadata/pygal.yaml
+++ b/plots/calibration-curve/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent use of pygal interactive tooltip system with descriptive labels for
diff --git a/plots/calibration-curve/metadata/seaborn.yaml b/plots/calibration-curve/metadata/seaborn.yaml
index cc81548162..1024b13a75 100644
--- a/plots/calibration-curve/metadata/seaborn.yaml
+++ b/plots/calibration-curve/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/calibration-cur
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/calibration-curve/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of calibration curves comparing three different classifiers
diff --git a/plots/candlestick-basic/metadata/altair.yaml b/plots/candlestick-basic/metadata/altair.yaml
index 4629fb0884..ee46007aef 100644
--- a/plots/candlestick-basic/metadata/altair.yaml
+++ b/plots/candlestick-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent candlestick construction using layered approach (wicks as mark_rule,
diff --git a/plots/candlestick-basic/metadata/bokeh.yaml b/plots/candlestick-basic/metadata/bokeh.yaml
index ce8d3faa21..07cf587d38 100644
--- a/plots/candlestick-basic/metadata/bokeh.yaml
+++ b/plots/candlestick-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized candles and wicks for the data density
diff --git a/plots/candlestick-basic/metadata/highcharts.yaml b/plots/candlestick-basic/metadata/highcharts.yaml
index fa94525893..ba86f71c77 100644
--- a/plots/candlestick-basic/metadata/highcharts.yaml
+++ b/plots/candlestick-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent colorblind-safe palette using Python Blue (#306998) for bullish and
diff --git a/plots/candlestick-basic/metadata/letsplot.yaml b/plots/candlestick-basic/metadata/letsplot.yaml
index c99e2f525b..b7c17e458f 100644
--- a/plots/candlestick-basic/metadata/letsplot.yaml
+++ b/plots/candlestick-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent candlestick implementation using geom_segment for wicks and geom_rect
diff --git a/plots/candlestick-basic/metadata/matplotlib.yaml b/plots/candlestick-basic/metadata/matplotlib.yaml
index 371207b038..46678a5bf2 100644
--- a/plots/candlestick-basic/metadata/matplotlib.yaml
+++ b/plots/candlestick-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent candlestick implementation with proper anatomy (bodies and wicks clearly
diff --git a/plots/candlestick-basic/metadata/plotly.yaml b/plots/candlestick-basic/metadata/plotly.yaml
index d7c4b09de4..c66145f740 100644
--- a/plots/candlestick-basic/metadata/plotly.yaml
+++ b/plots/candlestick-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly's native go.Candlestick for clean, idiomatic implementation
diff --git a/plots/candlestick-basic/metadata/plotnine.yaml b/plots/candlestick-basic/metadata/plotnine.yaml
index 3aa7e8a6d6..99ece6b4f0 100644
--- a/plots/candlestick-basic/metadata/plotnine.yaml
+++ b/plots/candlestick-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation using geom_segment for wicks and geom_rect for bodies
diff --git a/plots/candlestick-basic/metadata/pygal.yaml b/plots/candlestick-basic/metadata/pygal.yaml
index 66531cf4dd..d38b8cfdf5 100644
--- a/plots/candlestick-basic/metadata/pygal.yaml
+++ b/plots/candlestick-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean implementation of candlesticks using XY chart with varying stroke widths
diff --git a/plots/candlestick-basic/metadata/seaborn.yaml b/plots/candlestick-basic/metadata/seaborn.yaml
index 968374a21c..27971c91e9 100644
--- a/plots/candlestick-basic/metadata/seaborn.yaml
+++ b/plots/candlestick-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with properly sized candlesticks and readable text
diff --git a/plots/candlestick-volume/metadata/altair.yaml b/plots/candlestick-volume/metadata/altair.yaml
index 88d840adaf..cee9b533ea 100644
--- a/plots/candlestick-volume/metadata/altair.yaml
+++ b/plots/candlestick-volume/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-vol
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent dual-pane layout with proper 75/25 vertical split between price and
diff --git a/plots/candlestick-volume/metadata/bokeh.yaml b/plots/candlestick-volume/metadata/bokeh.yaml
index ea0a6dd1ca..a3cc01888b 100644
--- a/plots/candlestick-volume/metadata/bokeh.yaml
+++ b/plots/candlestick-volume/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-vol
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep:
+ - time-series
+ styling:
+ - grid-styling
review:
strengths:
- Excellent dual-pane layout with proper 70/30 split as specified
diff --git a/plots/candlestick-volume/metadata/highcharts.yaml b/plots/candlestick-volume/metadata/highcharts.yaml
index 085e841d4a..7155d2c3a7 100644
--- a/plots/candlestick-volume/metadata/highcharts.yaml
+++ b/plots/candlestick-volume/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-vol
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - subplots
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent use of Highstock for synchronized dual-pane layout
diff --git a/plots/candlestick-volume/metadata/letsplot.yaml b/plots/candlestick-volume/metadata/letsplot.yaml
index 0ec573cae3..680731f124 100644
--- a/plots/candlestick-volume/metadata/letsplot.yaml
+++ b/plots/candlestick-volume/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-vol
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling:
+ - grid-styling
review:
strengths:
- Excellent dual-pane layout using gggrid with proper 70/30 height ratio as specified
diff --git a/plots/candlestick-volume/metadata/matplotlib.yaml b/plots/candlestick-volume/metadata/matplotlib.yaml
index 9e06a33397..545e2cfb6a 100644
--- a/plots/candlestick-volume/metadata/matplotlib.yaml
+++ b/plots/candlestick-volume/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-vol
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - time-series
+ styling:
+ - grid-styling
review:
strengths:
- Clean dual-pane layout with proper 75%/25% height ratio
diff --git a/plots/candlestick-volume/metadata/plotly.yaml b/plots/candlestick-volume/metadata/plotly.yaml
index f1830eec23..7e68b6afd3 100644
--- a/plots/candlestick-volume/metadata/plotly.yaml
+++ b/plots/candlestick-volume/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-vol
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent dual-pane layout with proper 75/25 vertical split as specified
diff --git a/plots/candlestick-volume/metadata/seaborn.yaml b/plots/candlestick-volume/metadata/seaborn.yaml
index d6f5d61c42..c11ad55db1 100644
--- a/plots/candlestick-volume/metadata/seaborn.yaml
+++ b/plots/candlestick-volume/metadata/seaborn.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/candlestick-vol
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/candlestick-volume/seaborn/plot_thumb.png
preview_html: null
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - wide-to-long
+ - explicit-figure
+ dataprep:
+ - time-series
+ styling:
+ - grid-styling
review:
strengths:
- Excellent dual-pane layout with proper 75/25 height ratio as specified
diff --git a/plots/cat-box-strip/metadata/altair.yaml b/plots/cat-box-strip/metadata/altair.yaml
index c02bdac625..5223240265 100644
--- a/plots/cat-box-strip/metadata/altair.yaml
+++ b/plots/cat-box-strip/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data variety showing different distribution shapes (tight, wide, bimodal,
diff --git a/plots/cat-box-strip/metadata/bokeh.yaml b/plots/cat-box-strip/metadata/bokeh.yaml
index 07ad3f8800..440f25a538 100644
--- a/plots/cat-box-strip/metadata/bokeh.yaml
+++ b/plots/cat-box-strip/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual box plot construction using Bokeh primitives (Whisker, vbar,
diff --git a/plots/cat-box-strip/metadata/highcharts.yaml b/plots/cat-box-strip/metadata/highcharts.yaml
index 5dbcc45d91..3ef2bbeb91 100644
--- a/plots/cat-box-strip/metadata/highcharts.yaml
+++ b/plots/cat-box-strip/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent combination of box plot and strip plot overlay demonstrating the spec
diff --git a/plots/cat-box-strip/metadata/letsplot.yaml b/plots/cat-box-strip/metadata/letsplot.yaml
index 68be0b9207..84fec29056 100644
--- a/plots/cat-box-strip/metadata/letsplot.yaml
+++ b/plots/cat-box-strip/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with well-chosen color contrast (blue boxes, yellow points)
diff --git a/plots/cat-box-strip/metadata/matplotlib.yaml b/plots/cat-box-strip/metadata/matplotlib.yaml
index 8b737d8a71..353db6db8e 100644
--- a/plots/cat-box-strip/metadata/matplotlib.yaml
+++ b/plots/cat-box-strip/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design showing different distributions, spreads, and outliers across
diff --git a/plots/cat-box-strip/metadata/plotly.yaml b/plots/cat-box-strip/metadata/plotly.yaml
index bc91ceed47..c1cea60366 100644
--- a/plots/cat-box-strip/metadata/plotly.yaml
+++ b/plots/cat-box-strip/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with Python blue/yellow color scheme providing strong
diff --git a/plots/cat-box-strip/metadata/plotnine.yaml b/plots/cat-box-strip/metadata/plotnine.yaml
index 2968790285..3253c85268 100644
--- a/plots/cat-box-strip/metadata/plotnine.yaml
+++ b/plots/cat-box-strip/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent ggplot2 grammar of graphics implementation with clean layer composition
diff --git a/plots/cat-box-strip/metadata/pygal.yaml b/plots/cat-box-strip/metadata/pygal.yaml
index 4f53dff1db..b7079df327 100644
--- a/plots/cat-box-strip/metadata/pygal.yaml
+++ b/plots/cat-box-strip/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent creative solution using XY chart to achieve box plot with strip overlay
diff --git a/plots/cat-box-strip/metadata/seaborn.yaml b/plots/cat-box-strip/metadata/seaborn.yaml
index ea2831ae65..b5465cbc30 100644
--- a/plots/cat-box-strip/metadata/seaborn.yaml
+++ b/plots/cat-box-strip/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-box-strip/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design showing varied distributions (different medians, spreads,
diff --git a/plots/cat-strip/metadata/altair.yaml b/plots/cat-strip/metadata/altair.yaml
index 0b8504eed7..74fffc277d 100644
--- a/plots/cat-strip/metadata/altair.yaml
+++ b/plots/cat-strip/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-strip/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Altair transform_calculate for implementing jitter with Box-Muller
diff --git a/plots/cat-strip/metadata/bokeh.yaml b/plots/cat-strip/metadata/bokeh.yaml
index c94c35def1..3ef7dc9949 100644
--- a/plots/cat-strip/metadata/bokeh.yaml
+++ b/plots/cat-strip/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-strip/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Bokeh jitter transform for categorical scatter
diff --git a/plots/cat-strip/metadata/highcharts.yaml b/plots/cat-strip/metadata/highcharts.yaml
index 01185b10f3..0fe2b9a7ef 100644
--- a/plots/cat-strip/metadata/highcharts.yaml
+++ b/plots/cat-strip/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-strip/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Highcharts built-in jitter feature for proper strip plot behavior
diff --git a/plots/cat-strip/metadata/letsplot.yaml b/plots/cat-strip/metadata/letsplot.yaml
index 03e3d0c945..7296b080dc 100644
--- a/plots/cat-strip/metadata/letsplot.yaml
+++ b/plots/cat-strip/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-strip/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data storytelling with plant growth across fertilizer treatments showing
diff --git a/plots/cat-strip/metadata/matplotlib.yaml b/plots/cat-strip/metadata/matplotlib.yaml
index f524392be3..ba72668c12 100644
--- a/plots/cat-strip/metadata/matplotlib.yaml
+++ b/plots/cat-strip/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design showing varied distributions with meaningful outliers across
diff --git a/plots/cat-strip/metadata/plotly.yaml b/plots/cat-strip/metadata/plotly.yaml
index 798c19b20e..90ba874e37 100644
--- a/plots/cat-strip/metadata/plotly.yaml
+++ b/plots/cat-strip/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-strip/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data scenario with plant growth across soil types - realistic and scientifically
diff --git a/plots/cat-strip/metadata/plotnine.yaml b/plots/cat-strip/metadata/plotnine.yaml
index 81957b67b6..03c4fd6cc8 100644
--- a/plots/cat-strip/metadata/plotnine.yaml
+++ b/plots/cat-strip/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent text sizing with clear title, axis labels, and tick marks all easily
diff --git a/plots/cat-strip/metadata/pygal.yaml b/plots/cat-strip/metadata/pygal.yaml
index a7e82ca262..d9387b40bd 100644
--- a/plots/cat-strip/metadata/pygal.yaml
+++ b/plots/cat-strip/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/cat-strip/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent jitter implementation using XY chart with calculated x-positions
diff --git a/plots/cat-strip/metadata/seaborn.yaml b/plots/cat-strip/metadata/seaborn.yaml
index 7a4a4c85d9..84e47244f7 100644
--- a/plots/cat-strip/metadata/seaborn.yaml
+++ b/plots/cat-strip/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/cat-strip/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/cat-strip/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent data design showing varied distributions across plants (tight vs variable,
diff --git a/plots/chernoff-basic/metadata/altair.yaml b/plots/chernoff-basic/metadata/altair.yaml
index 6d49b0e184..53a7d3bf44 100644
--- a/plots/chernoff-basic/metadata/altair.yaml
+++ b/plots/chernoff-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/altair/plot.html
quality_score: 87
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - custom-shapes
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Creative implementation of Chernoff faces using Altair mark_point with layered
diff --git a/plots/chernoff-basic/metadata/bokeh.yaml b/plots/chernoff-basic/metadata/bokeh.yaml
index 83a463c41e..d8ef988f3b 100644
--- a/plots/chernoff-basic/metadata/bokeh.yaml
+++ b/plots/chernoff-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - hover-tooltips
+ - custom-shapes
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clear visual differentiation between sectors through color and facial expression
diff --git a/plots/chernoff-basic/metadata/highcharts.yaml b/plots/chernoff-basic/metadata/highcharts.yaml
index 8ed4f05db4..06d349061e 100644
--- a/plots/chernoff-basic/metadata/highcharts.yaml
+++ b/plots/chernoff-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ - selenium
+ techniques:
+ - custom-shapes
+ - html-export
+ patterns:
+ - dataset-loading
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with clear, distinguishable faces for each species
diff --git a/plots/chernoff-basic/metadata/letsplot.yaml b/plots/chernoff-basic/metadata/letsplot.yaml
index 312063b5d3..26e1e734f0 100644
--- a/plots/chernoff-basic/metadata/letsplot.yaml
+++ b/plots/chernoff-basic/metadata/letsplot.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - layer-composition
+ - custom-shapes
+ - html-export
+ patterns:
+ - dataset-loading
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of Chernoff faces using lets-plot grammar of graphics
diff --git a/plots/chernoff-basic/metadata/matplotlib.yaml b/plots/chernoff-basic/metadata/matplotlib.yaml
index 68c4b05a18..3f7e4d9d98 100644
--- a/plots/chernoff-basic/metadata/matplotlib.yaml
+++ b/plots/chernoff-basic/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - custom-shapes
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
+ - minimal-chrome
review:
strengths:
- Excellent implementation of Chernoff faces with clear visual differentiation between
diff --git a/plots/chernoff-basic/metadata/plotly.yaml b/plots/chernoff-basic/metadata/plotly.yaml
index 59ac41b00e..2e8bbb81c5 100644
--- a/plots/chernoff-basic/metadata/plotly.yaml
+++ b/plots/chernoff-basic/metadata/plotly.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - layer-composition
+ - custom-shapes
+ - html-export
+ patterns:
+ - dataset-loading
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent grid layout organizing faces by species with clear row and column labels
diff --git a/plots/chernoff-basic/metadata/plotnine.yaml b/plots/chernoff-basic/metadata/plotnine.yaml
index 985edf2333..14db984fcd 100644
--- a/plots/chernoff-basic/metadata/plotnine.yaml
+++ b/plots/chernoff-basic/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - layer-composition
+ - custom-shapes
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of Chernoff faces using plotnine grammar of graphics
diff --git a/plots/chernoff-basic/metadata/pygal.yaml b/plots/chernoff-basic/metadata/pygal.yaml
index 5c9a165443..22e49a9b31 100644
--- a/plots/chernoff-basic/metadata/pygal.yaml
+++ b/plots/chernoff-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - custom-shapes
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual representation of Chernoff faces with clear differentiation between
diff --git a/plots/chernoff-basic/metadata/seaborn.yaml b/plots/chernoff-basic/metadata/seaborn.yaml
index 7103236886..75c96f1776 100644
--- a/plots/chernoff-basic/metadata/seaborn.yaml
+++ b/plots/chernoff-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chernoff-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 82
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - minimal-chrome
review:
strengths:
- Excellent use of the Iris dataset with intelligent sample selection to maximize
diff --git a/plots/chord-basic/metadata/altair.yaml b/plots/chord-basic/metadata/altair.yaml
index 1c8c07ca79..08cf2f31f0 100644
--- a/plots/chord-basic/metadata/altair.yaml
+++ b/plots/chord-basic/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chord-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chord-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chord-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual implementation of chord diagram using Altair mark_line for both
diff --git a/plots/chord-basic/metadata/bokeh.yaml b/plots/chord-basic/metadata/bokeh.yaml
index 134d9f43d5..40894299ff 100644
--- a/plots/chord-basic/metadata/bokeh.yaml
+++ b/plots/chord-basic/metadata/bokeh.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chord-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chord-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chord-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - hover-tooltips
+ - columndatasource
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of chord diagram from scratch using Bokeh primitives
diff --git a/plots/chord-basic/metadata/highcharts.yaml b/plots/chord-basic/metadata/highcharts.yaml
index 9f07e933c2..e8879dc4d5 100644
--- a/plots/chord-basic/metadata/highcharts.yaml
+++ b/plots/chord-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chord-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chord-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chord-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts dependency wheel for chord diagram visualization
diff --git a/plots/chord-basic/metadata/letsplot.yaml b/plots/chord-basic/metadata/letsplot.yaml
index 07451f23f3..d7f139f5ad 100644
--- a/plots/chord-basic/metadata/letsplot.yaml
+++ b/plots/chord-basic/metadata/letsplot.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chord-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chord-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chord-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - bezier-curves
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent chord diagram construction using geom_polygon with smooth Bezier curves
diff --git a/plots/chord-basic/metadata/matplotlib.yaml b/plots/chord-basic/metadata/matplotlib.yaml
index 3bb948d94d..df520c90bf 100644
--- a/plots/chord-basic/metadata/matplotlib.yaml
+++ b/plots/chord-basic/metadata/matplotlib.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chord-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chord-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths: []
weaknesses: []
diff --git a/plots/chord-basic/metadata/plotly.yaml b/plots/chord-basic/metadata/plotly.yaml
index b6c933b217..6eaff2ac6c 100644
--- a/plots/chord-basic/metadata/plotly.yaml
+++ b/plots/chord-basic/metadata/plotly.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chord-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chord-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chord-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent chord diagram implementation from scratch using Plotly low-level primitives
diff --git a/plots/chord-basic/metadata/pygal.yaml b/plots/chord-basic/metadata/pygal.yaml
index 32f48cde0f..9d5d7a27c8 100644
--- a/plots/chord-basic/metadata/pygal.yaml
+++ b/plots/chord-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/chord-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/chord-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/chord-basic/pygal/plot.html
quality_score: 78
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - bezier-curves
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Creative approach using pygal XY chart to simulate a chord diagram
diff --git a/plots/choropleth-basic/metadata/altair.yaml b/plots/choropleth-basic/metadata/altair.yaml
index e38e59b83f..ad77f74082 100644
--- a/plots/choropleth-basic/metadata/altair.yaml
+++ b/plots/choropleth-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - vega-datasets
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - dataset-loading
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair's declarative grammar for geographic visualization with
diff --git a/plots/choropleth-basic/metadata/bokeh.yaml b/plots/choropleth-basic/metadata/bokeh.yaml
index 99985f1299..f001217b30 100644
--- a/plots/choropleth-basic/metadata/bokeh.yaml
+++ b/plots/choropleth-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of Bokeh-specific features including LogColorMapper for better differentiation
diff --git a/plots/choropleth-basic/metadata/highcharts.yaml b/plots/choropleth-basic/metadata/highcharts.yaml
index 06067cc7e1..bcea0f0a47 100644
--- a/plots/choropleth-basic/metadata/highcharts.yaml
+++ b/plots/choropleth-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highmaps TopoJSON topology for Europe map
diff --git a/plots/choropleth-basic/metadata/letsplot.yaml b/plots/choropleth-basic/metadata/letsplot.yaml
index 5ede7daeea..c106c9f7dd 100644
--- a/plots/choropleth-basic/metadata/letsplot.yaml
+++ b/plots/choropleth-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of lets-plot geocode_countries() for automatic boundary retrieval
diff --git a/plots/choropleth-basic/metadata/matplotlib.yaml b/plots/choropleth-basic/metadata/matplotlib.yaml
index 8942eab33c..91513b8c5b 100644
--- a/plots/choropleth-basic/metadata/matplotlib.yaml
+++ b/plots/choropleth-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - patches
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - minimal-chrome
review:
strengths:
- 'Successfully addressed all previous review feedback: Alaska/Hawaii now included,
diff --git a/plots/choropleth-basic/metadata/plotly.yaml b/plots/choropleth-basic/metadata/plotly.yaml
index b794a4c666..1d77192c51 100644
--- a/plots/choropleth-basic/metadata/plotly.yaml
+++ b/plots/choropleth-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent choice of realistic European GDP data with proper ISO-3 country codes
diff --git a/plots/choropleth-basic/metadata/plotnine.yaml b/plots/choropleth-basic/metadata/plotnine.yaml
index e51624f54d..fff789e9dc 100644
--- a/plots/choropleth-basic/metadata/plotnine.yaml
+++ b/plots/choropleth-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent handling of missing data with gray fill for Czechia as specified
diff --git a/plots/choropleth-basic/metadata/pygal.yaml b/plots/choropleth-basic/metadata/pygal.yaml
index d59daa45a7..495bf5ba04 100644
--- a/plots/choropleth-basic/metadata/pygal.yaml
+++ b/plots/choropleth-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pygal-maps-world
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal_maps_world extension for creating a world choropleth map
diff --git a/plots/choropleth-basic/metadata/seaborn.yaml b/plots/choropleth-basic/metadata/seaborn.yaml
index 5bd617d4ac..707220b123 100644
--- a/plots/choropleth-basic/metadata/seaborn.yaml
+++ b/plots/choropleth-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/choropleth-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/choropleth-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent creative solution using tile grid cartogram approach for choropleth
diff --git a/plots/circlepacking-basic/metadata/altair.yaml b/plots/circlepacking-basic/metadata/altair.yaml
index 555d0c43fc..301ee188d9 100644
--- a/plots/circlepacking-basic/metadata/altair.yaml
+++ b/plots/circlepacking-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/altair/plot.html
quality_score: 55
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent realistic business scenario with company budget allocation across departments
diff --git a/plots/circlepacking-basic/metadata/bokeh.yaml b/plots/circlepacking-basic/metadata/bokeh.yaml
index 4fe54949f9..a1c621992b 100644
--- a/plots/circlepacking-basic/metadata/bokeh.yaml
+++ b/plots/circlepacking-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - custom-legend
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent circle packing implementation with proper nesting and non-overlapping
diff --git a/plots/circlepacking-basic/metadata/highcharts.yaml b/plots/circlepacking-basic/metadata/highcharts.yaml
index 7f95c681c1..cacbc5753e 100644
--- a/plots/circlepacking-basic/metadata/highcharts.yaml
+++ b/plots/circlepacking-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/highcharts/plot.html
quality_score: 82
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts packedbubble chart type with splitSeries to achieve
diff --git a/plots/circlepacking-basic/metadata/letsplot.yaml b/plots/circlepacking-basic/metadata/letsplot.yaml
index 5f808355f9..5a9d7d4e14 100644
--- a/plots/circlepacking-basic/metadata/letsplot.yaml
+++ b/plots/circlepacking-basic/metadata/letsplot.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent circle packing algorithm implementation with force-directed simulation
@@ -25,13 +39,24 @@ review:
flat KISS structure
- Some child circle labels (especially in smaller circles) could be slightly larger
for better readability
- image_description: |-
- The plot displays a circle packing chart showing a "Storage Breakdown" visualization. A large dark navy blue root circle contains three main category circles: **Media** (yellow/gold), **Code** (green), and **Documents** (blue). Each parent circle contains nested child circles representing subfolders:
+ image_description: 'The plot displays a circle packing chart showing a "Storage
+ Breakdown" visualization. A large dark navy blue root circle contains three main
+ category circles: **Media** (yellow/gold), **Code** (green), and **Documents**
+ (blue). Each parent circle contains nested child circles representing subfolders:
+
- **Media** (largest): Contains Videos (largest, pale yellow), Photos, and Music
+
- **Code**: Contains Projects (largest), Libraries, and Backups
+
- **Documents**: Contains Work, Personal, and Archive
- The circles use white borders/outlines with subtle transparency (alpha ~0.92). Parent category labels ("Media", "Code", "Documents") appear in bold white text, while child labels are in dark gray. The title "Storage Breakdown · circlepacking-basic · letsplot · pyplots.ai" appears at the top. Circle sizes are proportional to storage values. The color scheme uses distinct hues (blue/yellow/green) with lighter shades for children within each category.
+
+ The circles use white borders/outlines with subtle transparency (alpha ~0.92).
+ Parent category labels ("Media", "Code", "Documents") appear in bold white text,
+ while child labels are in dark gray. The title "Storage Breakdown · circlepacking-basic
+ · letsplot · pyplots.ai" appears at the top. Circle sizes are proportional to
+ storage values. The color scheme uses distinct hues (blue/yellow/green) with lighter
+ shades for children within each category.'
criteria_checklist:
visual_quality:
score: 35
diff --git a/plots/circlepacking-basic/metadata/matplotlib.yaml b/plots/circlepacking-basic/metadata/matplotlib.yaml
index 440318d024..fbbf527454 100644
--- a/plots/circlepacking-basic/metadata/matplotlib.yaml
+++ b/plots/circlepacking-basic/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent hierarchical visualization with proper nesting and containment
diff --git a/plots/circlepacking-basic/metadata/plotly.yaml b/plots/circlepacking-basic/metadata/plotly.yaml
index f9a12308e9..de958bc320 100644
--- a/plots/circlepacking-basic/metadata/plotly.yaml
+++ b/plots/circlepacking-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/plotly/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent choice of file system storage hierarchy as a realistic, relatable data
diff --git a/plots/circlepacking-basic/metadata/plotnine.yaml b/plots/circlepacking-basic/metadata/plotnine.yaml
index 8261b66483..81594daf57 100644
--- a/plots/circlepacking-basic/metadata/plotnine.yaml
+++ b/plots/circlepacking-basic/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with clear color differentiation between levels (gray
diff --git a/plots/circlepacking-basic/metadata/pygal.yaml b/plots/circlepacking-basic/metadata/pygal.yaml
index 1451f98ede..ec47f3957d 100644
--- a/plots/circlepacking-basic/metadata/pygal.yaml
+++ b/plots/circlepacking-basic/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circlepacking-b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circlepacking-basic/pygal/plot.html
quality_score: 78
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Effective 3-level hierarchy visualization with clear visual distinction between
diff --git a/plots/circos-basic/metadata/altair.yaml b/plots/circos-basic/metadata/altair.yaml
index 96432fda1b..49f6c4328a 100644
--- a/plots/circos-basic/metadata/altair.yaml
+++ b/plots/circos-basic/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circos-basic/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent circular layout with proper segment proportions and gaps
diff --git a/plots/circos-basic/metadata/bokeh.yaml b/plots/circos-basic/metadata/bokeh.yaml
index d6d027def1..65bce9d4a8 100644
--- a/plots/circos-basic/metadata/bokeh.yaml
+++ b/plots/circos-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circos-basic/bokeh/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent circular layout with proper segment sizing proportional to total trade
diff --git a/plots/circos-basic/metadata/highcharts.yaml b/plots/circos-basic/metadata/highcharts.yaml
index 0260f4a2c1..275b526489 100644
--- a/plots/circos-basic/metadata/highcharts.yaml
+++ b/plots/circos-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circos-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Creative and effective implementation of Circos-style visualization using Highcharts
diff --git a/plots/circos-basic/metadata/letsplot.yaml b/plots/circos-basic/metadata/letsplot.yaml
index 451063cfa3..bbdd67d2e9 100644
--- a/plots/circos-basic/metadata/letsplot.yaml
+++ b/plots/circos-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circos-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - html-export
+ patterns:
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of a complex Circos plot using only polygon geoms
diff --git a/plots/circos-basic/metadata/matplotlib.yaml b/plots/circos-basic/metadata/matplotlib.yaml
index 7dcafea1d2..ce35a405f3 100644
--- a/plots/circos-basic/metadata/matplotlib.yaml
+++ b/plots/circos-basic/metadata/matplotlib.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent circular layout with proper segment proportions and visual gaps
diff --git a/plots/circos-basic/metadata/plotly.yaml b/plots/circos-basic/metadata/plotly.yaml
index f873c36e31..e34e1e63b1 100644
--- a/plots/circos-basic/metadata/plotly.yaml
+++ b/plots/circos-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/circos-basic/plotly/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Circos visualization using Plotly Scatter with fill=toself
diff --git a/plots/circos-basic/metadata/plotnine.yaml b/plots/circos-basic/metadata/plotnine.yaml
index b189ec91cf..6395323d98 100644
--- a/plots/circos-basic/metadata/plotnine.yaml
+++ b/plots/circos-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ patterns:
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of a complex circos plot using only plotnine native grammar
diff --git a/plots/circos-basic/metadata/seaborn.yaml b/plots/circos-basic/metadata/seaborn.yaml
index 1ee6bb8b48..dd6f4c5cda 100644
--- a/plots/circos-basic/metadata/seaborn.yaml
+++ b/plots/circos-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/circos-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/circos-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 82
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent circular layout with well-proportioned segments and gaps
diff --git a/plots/confusion-matrix/metadata/altair.yaml b/plots/confusion-matrix/metadata/altair.yaml
index e38bab3c45..1977da3100 100644
--- a/plots/confusion-matrix/metadata/altair.yaml
+++ b/plots/confusion-matrix/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text contrast logic using alt.condition to switch between white and
diff --git a/plots/confusion-matrix/metadata/bokeh.yaml b/plots/confusion-matrix/metadata/bokeh.yaml
index 862a944e38..3b4104fdc2 100644
--- a/plots/confusion-matrix/metadata/bokeh.yaml
+++ b/plots/confusion-matrix/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/bokeh/plot.html
quality_score: 96
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent use of Bokeh-specific features: ColumnDataSource for data management,
diff --git a/plots/confusion-matrix/metadata/highcharts.yaml b/plots/confusion-matrix/metadata/highcharts.yaml
index 3966590539..5a6d676efe 100644
--- a/plots/confusion-matrix/metadata/highcharts.yaml
+++ b/plots/confusion-matrix/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - colorbar
+ - hover-tooltips
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and cell annotations
diff --git a/plots/confusion-matrix/metadata/letsplot.yaml b/plots/confusion-matrix/metadata/letsplot.yaml
index 4b3ea76a82..23fab484c2 100644
--- a/plots/confusion-matrix/metadata/letsplot.yaml
+++ b/plots/confusion-matrix/metadata/letsplot.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ - hover-tooltips
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text contrast using scale_color_identity() for dynamic white/black text
diff --git a/plots/confusion-matrix/metadata/matplotlib.yaml b/plots/confusion-matrix/metadata/matplotlib.yaml
index 6e42db2e7f..f875779b46 100644
--- a/plots/confusion-matrix/metadata/matplotlib.yaml
+++ b/plots/confusion-matrix/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
+ - grid-styling
review:
strengths:
- Excellent text contrast with adaptive white/black text based on background intensity
diff --git a/plots/confusion-matrix/metadata/plotly.yaml b/plots/confusion-matrix/metadata/plotly.yaml
index 5e2cbe8e0d..dcced65082 100644
--- a/plots/confusion-matrix/metadata/plotly.yaml
+++ b/plots/confusion-matrix/metadata/plotly.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ - hover-tooltips
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of Plotly hovertemplate for interactive tooltips showing True/Predicted/Count
diff --git a/plots/confusion-matrix/metadata/plotnine.yaml b/plots/confusion-matrix/metadata/plotnine.yaml
index 1c4f6a4965..306aa66b3e 100644
--- a/plots/confusion-matrix/metadata/plotnine.yaml
+++ b/plots/confusion-matrix/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text contrast with adaptive color (white on dark, dark blue on light
diff --git a/plots/confusion-matrix/metadata/pygal.yaml b/plots/confusion-matrix/metadata/pygal.yaml
index c461b3b025..5ca1d84283 100644
--- a/plots/confusion-matrix/metadata/pygal.yaml
+++ b/plots/confusion-matrix/metadata/pygal.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent visual design with proper colorbar, cell annotations, and diagonal highlighting
diff --git a/plots/confusion-matrix/metadata/seaborn.yaml b/plots/confusion-matrix/metadata/seaborn.yaml
index 5d337913ff..fa2acec9f7 100644
--- a/plots/confusion-matrix/metadata/seaborn.yaml
+++ b/plots/confusion-matrix/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/confusion-matri
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/confusion-matrix/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent visual clarity with well-sized annotations and contrasting text colors
diff --git a/plots/contour-basic/metadata/altair.yaml b/plots/contour-basic/metadata/altair.yaml
index ee78362714..bd57a97414 100644
--- a/plots/contour-basic/metadata/altair.yaml
+++ b/plots/contour-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-basic/altair/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative solution for a plot type Altair does not natively support
diff --git a/plots/contour-basic/metadata/bokeh.yaml b/plots/contour-basic/metadata/bokeh.yaml
index ba15e7fe20..d0668cf6bf 100644
--- a/plots/contour-basic/metadata/bokeh.yaml
+++ b/plots/contour-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - contourpy
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of contourpy library for generating filled contours and contour
diff --git a/plots/contour-basic/metadata/highcharts.yaml b/plots/contour-basic/metadata/highcharts.yaml
index 62590347d0..15a286c920 100644
--- a/plots/contour-basic/metadata/highcharts.yaml
+++ b/plots/contour-basic/metadata/highcharts.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent visual implementation of contour plot using heatmap + line series overlay
diff --git a/plots/contour-basic/metadata/letsplot.yaml b/plots/contour-basic/metadata/letsplot.yaml
index e8a679bd27..603304b90e 100644
--- a/plots/contour-basic/metadata/letsplot.yaml
+++ b/plots/contour-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of viridis colormap for accessibility and visual appeal
diff --git a/plots/contour-basic/metadata/matplotlib.yaml b/plots/contour-basic/metadata/matplotlib.yaml
index c96483d131..73fa5ff8a5 100644
--- a/plots/contour-basic/metadata/matplotlib.yaml
+++ b/plots/contour-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of combined filled contours (contourf) and line contours for visual
diff --git a/plots/contour-basic/metadata/plotly.yaml b/plots/contour-basic/metadata/plotly.yaml
index e77fd9fe90..bb073c6f7c 100644
--- a/plots/contour-basic/metadata/plotly.yaml
+++ b/plots/contour-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of Viridis colormap for colorblind accessibility
diff --git a/plots/contour-basic/metadata/plotnine.yaml b/plots/contour-basic/metadata/plotnine.yaml
index 4c8573c851..a23991b70b 100644
--- a/plots/contour-basic/metadata/plotnine.yaml
+++ b/plots/contour-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/contour-basic/metadata/seaborn.yaml b/plots/contour-basic/metadata/seaborn.yaml
index cc21e8f3c8..faf1d9c7f1 100644
--- a/plots/contour-basic/metadata/seaborn.yaml
+++ b/plots/contour-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 72
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Clean viridis colormap provides excellent colorblind accessibility and visual
diff --git a/plots/contour-decision-boundary/metadata/altair.yaml b/plots/contour-decision-boundary/metadata/altair.yaml
index 68f845b383..b8d9607166 100644
--- a/plots/contour-decision-boundary/metadata/altair.yaml
+++ b/plots/contour-decision-boundary/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of layered Altair charts to combine decision regions, correctly
diff --git a/plots/contour-decision-boundary/metadata/bokeh.yaml b/plots/contour-decision-boundary/metadata/bokeh.yaml
index 59f9c047f8..89291b4a88 100644
--- a/plots/contour-decision-boundary/metadata/bokeh.yaml
+++ b/plots/contour-decision-boundary/metadata/bokeh.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - hover-tooltips
+ - html-export
+ - custom-legend
+ patterns:
+ - columndatasource
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-chosen Python blue/yellow color scheme that
diff --git a/plots/contour-decision-boundary/metadata/highcharts.yaml b/plots/contour-decision-boundary/metadata/highcharts.yaml
index 99c2b70629..fb6c1baad3 100644
--- a/plots/contour-decision-boundary/metadata/highcharts.yaml
+++ b/plots/contour-decision-boundary/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - sklearn
+ - selenium
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent decision boundary visualization with clear separation between blue and
diff --git a/plots/contour-decision-boundary/metadata/letsplot.yaml b/plots/contour-decision-boundary/metadata/letsplot.yaml
index d4c3bfd0b1..34e261d974 100644
--- a/plots/contour-decision-boundary/metadata/letsplot.yaml
+++ b/plots/contour-decision-boundary/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual representation of the decision boundary using geom_tile for filled
diff --git a/plots/contour-decision-boundary/metadata/matplotlib.yaml b/plots/contour-decision-boundary/metadata/matplotlib.yaml
index 180005df93..923aa113a9 100644
--- a/plots/contour-decision-boundary/metadata/matplotlib.yaml
+++ b/plots/contour-decision-boundary/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of decision boundary visualization meeting all specification
diff --git a/plots/contour-decision-boundary/metadata/plotly.yaml b/plots/contour-decision-boundary/metadata/plotly.yaml
index 09d29a7f3f..4d53f75289 100644
--- a/plots/contour-decision-boundary/metadata/plotly.yaml
+++ b/plots/contour-decision-boundary/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent use of probability-based contour coloring rather than just discrete
diff --git a/plots/contour-decision-boundary/metadata/plotnine.yaml b/plots/contour-decision-boundary/metadata/plotnine.yaml
index eb902fd051..8e2b3b8fcd 100644
--- a/plots/contour-decision-boundary/metadata/plotnine.yaml
+++ b/plots/contour-decision-boundary/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of ggplot2 grammar of graphics with proper layering (geom_tile for
diff --git a/plots/contour-decision-boundary/metadata/pygal.yaml b/plots/contour-decision-boundary/metadata/pygal.yaml
index 086a11c5b4..fc80b26fdb 100644
--- a/plots/contour-decision-boundary/metadata/pygal.yaml
+++ b/plots/contour-decision-boundary/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative solution using pygal XY chart with custom SVG injection for
diff --git a/plots/contour-decision-boundary/metadata/seaborn.yaml b/plots/contour-decision-boundary/metadata/seaborn.yaml
index 117bbf59f6..965a7e3874 100644
--- a/plots/contour-decision-boundary/metadata/seaborn.yaml
+++ b/plots/contour-decision-boundary/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-decisio
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-decision-boundary/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent decision boundary visualization with clear class separation using make_moons
diff --git a/plots/contour-density/metadata/altair.yaml b/plots/contour-density/metadata/altair.yaml
index 83ed57b648..d7051e2bcd 100644
--- a/plots/contour-density/metadata/altair.yaml
+++ b/plots/contour-density/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-density/altair/plot.html
quality_score: 88
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - kde
+ styling: []
review:
strengths:
- Good visual design with blues color scheme providing clear density gradient
diff --git a/plots/contour-density/metadata/bokeh.yaml b/plots/contour-density/metadata/bokeh.yaml
index d534426865..1152bea93b 100644
--- a/plots/contour-density/metadata/bokeh.yaml
+++ b/plots/contour-density/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-density/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent contour visualization with 8 clearly visible density levels
diff --git a/plots/contour-density/metadata/highcharts.yaml b/plots/contour-density/metadata/highcharts.yaml
index 5d587b7f42..dcbcf26c8c 100644
--- a/plots/contour-density/metadata/highcharts.yaml
+++ b/plots/contour-density/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-density/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of KDE-based density contours using a custom marching
diff --git a/plots/contour-density/metadata/letsplot.yaml b/plots/contour-density/metadata/letsplot.yaml
index f5912bfa93..e05e7e9eda 100644
--- a/plots/contour-density/metadata/letsplot.yaml
+++ b/plots/contour-density/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-density/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visualization of three distinct density clusters with clear concentric
diff --git a/plots/contour-density/metadata/matplotlib.yaml b/plots/contour-density/metadata/matplotlib.yaml
index bf00da1c5e..3830f5840a 100644
--- a/plots/contour-density/metadata/matplotlib.yaml
+++ b/plots/contour-density/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - kde
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent combination of filled contours with contour lines for visual clarity
diff --git a/plots/contour-density/metadata/plotly.yaml b/plots/contour-density/metadata/plotly.yaml
index ab7b90fb22..64f5d2235b 100644
--- a/plots/contour-density/metadata/plotly.yaml
+++ b/plots/contour-density/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-density/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent use of filled contours with custom colorscale transitioning from transparent
diff --git a/plots/contour-density/metadata/plotnine.yaml b/plots/contour-density/metadata/plotnine.yaml
index f2312e613b..b44424fa73 100644
--- a/plots/contour-density/metadata/plotnine.yaml
+++ b/plots/contour-density/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of plotnine grammar of graphics with clean ggplot-style composition
diff --git a/plots/contour-density/metadata/pygal.yaml b/plots/contour-density/metadata/pygal.yaml
index 76505d58f0..cfdf989234 100644
--- a/plots/contour-density/metadata/pygal.yaml
+++ b/plots/contour-density/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-density/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- 'Excellent creative solution: implements KDE-based contour density using custom
diff --git a/plots/contour-density/metadata/seaborn.yaml b/plots/contour-density/metadata/seaborn.yaml
index ba606e0c35..9f45024d89 100644
--- a/plots/contour-density/metadata/seaborn.yaml
+++ b/plots/contour-density/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-density
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-density/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent use of seaborn kdeplot for 2D kernel density estimation with both filled
diff --git a/plots/contour-filled/metadata/altair.yaml b/plots/contour-filled/metadata/altair.yaml
index 0ec9844661..c2fbdf93db 100644
--- a/plots/contour-filled/metadata/altair.yaml
+++ b/plots/contour-filled/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-filled/altair/plot.html
quality_score: 86
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of viridis colormap for colorblind accessibility
diff --git a/plots/contour-filled/metadata/bokeh.yaml b/plots/contour-filled/metadata/bokeh.yaml
index 6b2b5d2803..9b31301d9f 100644
--- a/plots/contour-filled/metadata/bokeh.yaml
+++ b/plots/contour-filled/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-filled/bokeh/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - contourpy
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Viridis colormap for colorblind accessibility and visual appeal
diff --git a/plots/contour-filled/metadata/highcharts.yaml b/plots/contour-filled/metadata/highcharts.yaml
index 2a6afda958..b914847cea 100644
--- a/plots/contour-filled/metadata/highcharts.yaml
+++ b/plots/contour-filled/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-filled/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual representation of filled contour using Highcharts heatmap with
diff --git a/plots/contour-filled/metadata/letsplot.yaml b/plots/contour-filled/metadata/letsplot.yaml
index d0b8890710..15397769cf 100644
--- a/plots/contour-filled/metadata/letsplot.yaml
+++ b/plots/contour-filled/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-filled/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with the plasma colormap providing smooth, perceptually
diff --git a/plots/contour-filled/metadata/matplotlib.yaml b/plots/contour-filled/metadata/matplotlib.yaml
index 6245cd2b41..75ca6bf81c 100644
--- a/plots/contour-filled/metadata/matplotlib.yaml
+++ b/plots/contour-filled/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent mathematical surface with multiple features (peaks, valley, gradients)
diff --git a/plots/contour-filled/metadata/plotly.yaml b/plots/contour-filled/metadata/plotly.yaml
index b9f7052999..8e52016403 100644
--- a/plots/contour-filled/metadata/plotly.yaml
+++ b/plots/contour-filled/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-filled/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of Viridis colormap providing colorblind-safe visualization
diff --git a/plots/contour-filled/metadata/plotnine.yaml b/plots/contour-filled/metadata/plotnine.yaml
index 29ee52d826..631350e00f 100644
--- a/plots/contour-filled/metadata/plotnine.yaml
+++ b/plots/contour-filled/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of viridis colormap for colorblind accessibility and visual appeal
diff --git a/plots/contour-filled/metadata/pygal.yaml b/plots/contour-filled/metadata/pygal.yaml
index 6ae533fd22..62d8c6c7df 100644
--- a/plots/contour-filled/metadata/pygal.yaml
+++ b/plots/contour-filled/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/contour-filled/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - gradient-fill
review:
strengths:
- Excellent filled contour visualization achieved despite pygal not natively supporting
diff --git a/plots/contour-filled/metadata/seaborn.yaml b/plots/contour-filled/metadata/seaborn.yaml
index a88fe3d4ad..419d1ac51d 100644
--- a/plots/contour-filled/metadata/seaborn.yaml
+++ b/plots/contour-filled/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/contour-filled/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/contour-filled/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent visual clarity with smooth color transitions from 80x80 grid resolution
diff --git a/plots/count-basic/metadata/altair.yaml b/plots/count-basic/metadata/altair.yaml
index 8d994b6a8d..296c18dbbc 100644
--- a/plots/count-basic/metadata/altair.yaml
+++ b/plots/count-basic/metadata/altair.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/count-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - long-to-wide
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual presentation with clear, readable text at all sizes
diff --git a/plots/count-basic/metadata/bokeh.yaml b/plots/count-basic/metadata/bokeh.yaml
index 040a748251..0081b0c9d2 100644
--- a/plots/count-basic/metadata/bokeh.yaml
+++ b/plots/count-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/count-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of ColumnDataSource and LabelSet for clean data binding and annotations
diff --git a/plots/count-basic/metadata/highcharts.yaml b/plots/count-basic/metadata/highcharts.yaml
index 766a300360..25b994e90c 100644
--- a/plots/count-basic/metadata/highcharts.yaml
+++ b/plots/count-basic/metadata/highcharts.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/count-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques: []
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent adherence to specification: automatically counts raw categorical data
diff --git a/plots/count-basic/metadata/letsplot.yaml b/plots/count-basic/metadata/letsplot.yaml
index 6dece192eb..261e8cddb8 100644
--- a/plots/count-basic/metadata/letsplot.yaml
+++ b/plots/count-basic/metadata/letsplot.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/count-basic/letsplot/plot.html
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of lets-plot ggplot2 grammar with geom_bar for automatic counting
diff --git a/plots/count-basic/metadata/matplotlib.yaml b/plots/count-basic/metadata/matplotlib.yaml
index 04c2523d7b..b042bd06de 100644
--- a/plots/count-basic/metadata/matplotlib.yaml
+++ b/plots/count-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent survey response scenario with realistic Likert scale data
diff --git a/plots/count-basic/metadata/plotly.yaml b/plots/count-basic/metadata/plotly.yaml
index f03512f233..3e1e7c6145 100644
--- a/plots/count-basic/metadata/plotly.yaml
+++ b/plots/count-basic/metadata/plotly.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/count-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, professional appearance with well-balanced layout and proportions
diff --git a/plots/count-basic/metadata/plotnine.yaml b/plots/count-basic/metadata/plotnine.yaml
index cd3c93ae09..8729178ac4 100644
--- a/plots/count-basic/metadata/plotnine.yaml
+++ b/plots/count-basic/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pd.Categorical for logical ordering of response categories instead
diff --git a/plots/count-basic/metadata/pygal.yaml b/plots/count-basic/metadata/pygal.yaml
index e21ea310af..ed083dbb50 100644
--- a/plots/count-basic/metadata/pygal.yaml
+++ b/plots/count-basic/metadata/pygal.yaml
@@ -11,6 +11,12 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/count-basic/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of logical category ordering (satisfaction scale from negative to
diff --git a/plots/count-basic/metadata/seaborn.yaml b/plots/count-basic/metadata/seaborn.yaml
index c09e71ff9e..b69ed729d2 100644
--- a/plots/count-basic/metadata/seaborn.yaml
+++ b/plots/count-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/count-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/count-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of sns.countplot with proper ordering by frequency
diff --git a/plots/dendrogram-basic/metadata/altair.yaml b/plots/dendrogram-basic/metadata/altair.yaml
index 40c3efe9c7..5225c6edd1 100644
--- a/plots/dendrogram-basic/metadata/altair.yaml
+++ b/plots/dendrogram-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent use of scipy dendrogram output to extract coordinates for Altair rendering
diff --git a/plots/dendrogram-basic/metadata/bokeh.yaml b/plots/dendrogram-basic/metadata/bokeh.yaml
index f35c2b3622..4559984d17 100644
--- a/plots/dendrogram-basic/metadata/bokeh.yaml
+++ b/plots/dendrogram-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent manual implementation of dendrogram structure using Bokeh primitives
diff --git a/plots/dendrogram-basic/metadata/highcharts.yaml b/plots/dendrogram-basic/metadata/highcharts.yaml
index c6156c59c0..488fe6bbb1 100644
--- a/plots/dendrogram-basic/metadata/highcharts.yaml
+++ b/plots/dendrogram-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/highcharts/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/dendrogram-basic/metadata/letsplot.yaml b/plots/dendrogram-basic/metadata/letsplot.yaml
index c8460d73c4..5394ce2d91 100644
--- a/plots/dendrogram-basic/metadata/letsplot.yaml
+++ b/plots/dendrogram-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent implementation of dendrogram from scratch using geom_segment - creative
diff --git a/plots/dendrogram-basic/metadata/matplotlib.yaml b/plots/dendrogram-basic/metadata/matplotlib.yaml
index 9693377807..026b98d331 100644
--- a/plots/dendrogram-basic/metadata/matplotlib.yaml
+++ b/plots/dendrogram-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent hierarchical clustering visualization with clear species separation
diff --git a/plots/dendrogram-basic/metadata/plotly.yaml b/plots/dendrogram-basic/metadata/plotly.yaml
index 0486bb22a5..7357257c34 100644
--- a/plots/dendrogram-basic/metadata/plotly.yaml
+++ b/plots/dendrogram-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Clean, professional visualization with clear hierarchical structure
diff --git a/plots/dendrogram-basic/metadata/plotnine.yaml b/plots/dendrogram-basic/metadata/plotnine.yaml
index 4360689570..4e11ae8912 100644
--- a/plots/dendrogram-basic/metadata/plotnine.yaml
+++ b/plots/dendrogram-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent use of scipy dendrogram() with no_plot=True to extract coordinates,
diff --git a/plots/dendrogram-basic/metadata/pygal.yaml b/plots/dendrogram-basic/metadata/pygal.yaml
index 35b87aa7e3..9c8fe6e414 100644
--- a/plots/dendrogram-basic/metadata/pygal.yaml
+++ b/plots/dendrogram-basic/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent manual implementation of dendrogram using XY chart segments - creative
diff --git a/plots/dendrogram-basic/metadata/seaborn.yaml b/plots/dendrogram-basic/metadata/seaborn.yaml
index 0cd3849c61..974505496f 100644
--- a/plots/dendrogram-basic/metadata/seaborn.yaml
+++ b/plots/dendrogram-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dendrogram-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ - sklearn
+ techniques:
+ - custom-legend
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent use of colorblind-safe palette for species differentiation
diff --git a/plots/density-basic/metadata/altair.yaml b/plots/density-basic/metadata/altair.yaml
index dc29d2261c..a4d8e95f6d 100644
--- a/plots/density-basic/metadata/altair.yaml
+++ b/plots/density-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/density-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Altair transform_density for KDE calculation with configurable
diff --git a/plots/density-basic/metadata/bokeh.yaml b/plots/density-basic/metadata/bokeh.yaml
index b005882cff..d0c60a5edf 100644
--- a/plots/density-basic/metadata/bokeh.yaml
+++ b/plots/density-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/density-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual KDE implementation using Silverman's rule for bandwidth selection
diff --git a/plots/density-basic/metadata/highcharts.yaml b/plots/density-basic/metadata/highcharts.yaml
index d87de5500b..9a58e8b33b 100644
--- a/plots/density-basic/metadata/highcharts.yaml
+++ b/plots/density-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/density-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - gradient-fill
+ - alpha-blending
review:
strengths:
- Excellent implementation of KDE from scratch using Silverman's bandwidth rule
diff --git a/plots/density-basic/metadata/letsplot.yaml b/plots/density-basic/metadata/letsplot.yaml
index 6e7a9a2a9b..20cfc6d96f 100644
--- a/plots/density-basic/metadata/letsplot.yaml
+++ b/plots/density-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/density-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Clean ggplot2-style grammar implementation with proper layering
diff --git a/plots/density-basic/metadata/matplotlib.yaml b/plots/density-basic/metadata/matplotlib.yaml
index 9e40e1aa52..98923c6e7e 100644
--- a/plots/density-basic/metadata/matplotlib.yaml
+++ b/plots/density-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of density plot with smooth KDE curve and attractive
diff --git a/plots/density-basic/metadata/plotly.yaml b/plots/density-basic/metadata/plotly.yaml
index 726743906d..dafb4d4f79 100644
--- a/plots/density-basic/metadata/plotly.yaml
+++ b/plots/density-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/density-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual KDE implementation using Silverman's rule of thumb for bandwidth
diff --git a/plots/density-basic/metadata/plotnine.yaml b/plots/density-basic/metadata/plotnine.yaml
index 730130bcd4..16a28160a4 100644
--- a/plots/density-basic/metadata/plotnine.yaml
+++ b/plots/density-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Clean plotnine grammar of graphics implementation using geom_density with appropriate
diff --git a/plots/density-basic/metadata/pygal.yaml b/plots/density-basic/metadata/pygal.yaml
index 6b7f84048a..71ff70fa50 100644
--- a/plots/density-basic/metadata/pygal.yaml
+++ b/plots/density-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/density-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling: []
review:
strengths:
- Excellent implementation of KDE using manual Gaussian kernel computation with
diff --git a/plots/density-basic/metadata/seaborn.yaml b/plots/density-basic/metadata/seaborn.yaml
index 2a6a0c2f20..92edbe5a19 100644
--- a/plots/density-basic/metadata/seaborn.yaml
+++ b/plots/density-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/density-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/density-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of seaborn kdeplot with fill and rugplot combination for statistical
diff --git a/plots/donut-basic/metadata/altair.yaml b/plots/donut-basic/metadata/altair.yaml
index 1af5fe4275..1058233e1e 100644
--- a/plots/donut-basic/metadata/altair.yaml
+++ b/plots/donut-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair layered composition to combine donut segments, percentage
diff --git a/plots/donut-basic/metadata/bokeh.yaml b/plots/donut-basic/metadata/bokeh.yaml
index cf42cd1f5f..f86e0b6dfc 100644
--- a/plots/donut-basic/metadata/bokeh.yaml
+++ b/plots/donut-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - numpy
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Bokeh annular_wedge for creating donut shape with proper inner/outer
diff --git a/plots/donut-basic/metadata/highcharts.yaml b/plots/donut-basic/metadata/highcharts.yaml
index a15a58af33..457d0d0fa4 100644
--- a/plots/donut-basic/metadata/highcharts.yaml
+++ b/plots/donut-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of colorblind-safe color palette matching library guidelines
diff --git a/plots/donut-basic/metadata/letsplot.yaml b/plots/donut-basic/metadata/letsplot.yaml
index 5b669426df..6b551179cc 100644
--- a/plots/donut-basic/metadata/letsplot.yaml
+++ b/plots/donut-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent use of geom_pie with hole parameter for native donut chart creation
diff --git a/plots/donut-basic/metadata/matplotlib.yaml b/plots/donut-basic/metadata/matplotlib.yaml
index ea3adca87f..f826e5b247 100644
--- a/plots/donut-basic/metadata/matplotlib.yaml
+++ b/plots/donut-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent center text implementation with Total $100K providing summary information
diff --git a/plots/donut-basic/metadata/plotly.yaml b/plots/donut-basic/metadata/plotly.yaml
index d196d17cb2..2695038f6f 100644
--- a/plots/donut-basic/metadata/plotly.yaml
+++ b/plots/donut-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of center annotation for total budget display
diff --git a/plots/donut-basic/metadata/pygal.yaml b/plots/donut-basic/metadata/pygal.yaml
index d432944700..b8cc8d8d53 100644
--- a/plots/donut-basic/metadata/pygal.yaml
+++ b/plots/donut-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean donut chart implementation with proper inner_radius creating the hollow
diff --git a/plots/donut-basic/metadata/seaborn.yaml b/plots/donut-basic/metadata/seaborn.yaml
index 740ac5d4d1..363899914a 100644
--- a/plots/donut-basic/metadata/seaborn.yaml
+++ b/plots/donut-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of center space for total budget display
diff --git a/plots/donut-nested/metadata/altair.yaml b/plots/donut-nested/metadata/altair.yaml
index e54fb436a7..73b188d87f 100644
--- a/plots/donut-nested/metadata/altair.yaml
+++ b/plots/donut-nested/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-nested/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of consistent color families per department with darker inner ring
diff --git a/plots/donut-nested/metadata/bokeh.yaml b/plots/donut-nested/metadata/bokeh.yaml
index fd7f7e7f74..551d6c045e 100644
--- a/plots/donut-nested/metadata/bokeh.yaml
+++ b/plots/donut-nested/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-nested/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical color scheme using consistent color families per department
diff --git a/plots/donut-nested/metadata/highcharts.yaml b/plots/donut-nested/metadata/highcharts.yaml
index 4a4656f3f7..973922e85f 100644
--- a/plots/donut-nested/metadata/highcharts.yaml
+++ b/plots/donut-nested/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-nested/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color scheme using consistent hue families (blue gradients for Engineering,
diff --git a/plots/donut-nested/metadata/letsplot.yaml b/plots/donut-nested/metadata/letsplot.yaml
index 3b3bc122c9..119375d987 100644
--- a/plots/donut-nested/metadata/letsplot.yaml
+++ b/plots/donut-nested/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-nested/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of consistent color families per parent category (blues for Marketing,
diff --git a/plots/donut-nested/metadata/matplotlib.yaml b/plots/donut-nested/metadata/matplotlib.yaml
index e597c15f4a..e6d8a7de52 100644
--- a/plots/donut-nested/metadata/matplotlib.yaml
+++ b/plots/donut-nested/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical color scheme with consistent color families per department
diff --git a/plots/donut-nested/metadata/plotly.yaml b/plots/donut-nested/metadata/plotly.yaml
index 1e44fb6fd2..beb545aa05 100644
--- a/plots/donut-nested/metadata/plotly.yaml
+++ b/plots/donut-nested/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-nested/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent use of color families: each department has its own hue with lighter
diff --git a/plots/donut-nested/metadata/plotnine.yaml b/plots/donut-nested/metadata/plotnine.yaml
index a3293fbad4..aa0d838c5e 100644
--- a/plots/donut-nested/metadata/plotnine.yaml
+++ b/plots/donut-nested/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical data representation with clear parent-child relationships
diff --git a/plots/donut-nested/metadata/pygal.yaml b/plots/donut-nested/metadata/pygal.yaml
index 62ef5a09df..187b6a1357 100644
--- a/plots/donut-nested/metadata/pygal.yaml
+++ b/plots/donut-nested/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/donut-nested/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative solution to achieve nested donut effect in pygal by compositing
diff --git a/plots/donut-nested/metadata/seaborn.yaml b/plots/donut-nested/metadata/seaborn.yaml
index 1891fe559b..e97b4df147 100644
--- a/plots/donut-nested/metadata/seaborn.yaml
+++ b/plots/donut-nested/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/donut-nested/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/donut-nested/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical color scheme using seaborn light_palette() to create cohesive
diff --git a/plots/dumbbell-basic/metadata/altair.yaml b/plots/dumbbell-basic/metadata/altair.yaml
index 45ce66c5bc..068829a56e 100644
--- a/plots/dumbbell-basic/metadata/altair.yaml
+++ b/plots/dumbbell-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal dumbbell chart matching spec requirements perfectly
diff --git a/plots/dumbbell-basic/metadata/bokeh.yaml b/plots/dumbbell-basic/metadata/bokeh.yaml
index 2d282dfed3..602d379bbc 100644
--- a/plots/dumbbell-basic/metadata/bokeh.yaml
+++ b/plots/dumbbell-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal orientation with categories on y-axis as recommended in spec
diff --git a/plots/dumbbell-basic/metadata/highcharts.yaml b/plots/dumbbell-basic/metadata/highcharts.yaml
index b6a62b73db..470124a85a 100644
--- a/plots/dumbbell-basic/metadata/highcharts.yaml
+++ b/plots/dumbbell-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts native dumbbell chart type with proper module loading
diff --git a/plots/dumbbell-basic/metadata/letsplot.yaml b/plots/dumbbell-basic/metadata/letsplot.yaml
index b81932e97c..e9dfe42959 100644
--- a/plots/dumbbell-basic/metadata/letsplot.yaml
+++ b/plots/dumbbell-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal orientation with categories on y-axis as recommended by spec
diff --git a/plots/dumbbell-basic/metadata/matplotlib.yaml b/plots/dumbbell-basic/metadata/matplotlib.yaml
index 795b1b70a7..857cb64b73 100644
--- a/plots/dumbbell-basic/metadata/matplotlib.yaml
+++ b/plots/dumbbell-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths: []
weaknesses: []
diff --git a/plots/dumbbell-basic/metadata/plotly.yaml b/plots/dumbbell-basic/metadata/plotly.yaml
index 3de650a61a..d42a2bcf30 100644
--- a/plots/dumbbell-basic/metadata/plotly.yaml
+++ b/plots/dumbbell-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the dumbbell chart with proper horizontal orientation
diff --git a/plots/dumbbell-basic/metadata/plotnine.yaml b/plots/dumbbell-basic/metadata/plotnine.yaml
index 935b131e6a..c652bab0bd 100644
--- a/plots/dumbbell-basic/metadata/plotnine.yaml
+++ b/plots/dumbbell-basic/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal dumbbell chart with proper before/after comparison visualization
diff --git a/plots/dumbbell-basic/metadata/pygal.yaml b/plots/dumbbell-basic/metadata/pygal.yaml
index 08c9ba3975..37f139244a 100644
--- a/plots/dumbbell-basic/metadata/pygal.yaml
+++ b/plots/dumbbell-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/pygal/plot.html
quality_score: 58
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data design showing positive changes, negative changes (Finance -6),
diff --git a/plots/dumbbell-basic/metadata/seaborn.yaml b/plots/dumbbell-basic/metadata/seaborn.yaml
index 22af366609..48f27d1c30 100644
--- a/plots/dumbbell-basic/metadata/seaborn.yaml
+++ b/plots/dumbbell-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/dumbbell-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent horizontal dumbbell chart implementation following spec recommendations
diff --git a/plots/ecdf-basic/metadata/altair.yaml b/plots/ecdf-basic/metadata/altair.yaml
index 891a096da1..7e09987c45 100644
--- a/plots/ecdf-basic/metadata/altair.yaml
+++ b/plots/ecdf-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Correct ECDF implementation with proper step-after interpolation
diff --git a/plots/ecdf-basic/metadata/bokeh.yaml b/plots/ecdf-basic/metadata/bokeh.yaml
index bff5579bd4..29245f1665 100644
--- a/plots/ecdf-basic/metadata/bokeh.yaml
+++ b/plots/ecdf-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Correct ECDF step function implementation with proper horizontal-then-vertical
diff --git a/plots/ecdf-basic/metadata/highcharts.yaml b/plots/ecdf-basic/metadata/highcharts.yaml
index e246738313..8b9a27dcd7 100644
--- a/plots/ecdf-basic/metadata/highcharts.yaml
+++ b/plots/ecdf-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Correct ECDF implementation with step=left creating proper vertical jumps at each
diff --git a/plots/ecdf-basic/metadata/letsplot.yaml b/plots/ecdf-basic/metadata/letsplot.yaml
index ccdbfb646a..9a41045042 100644
--- a/plots/ecdf-basic/metadata/letsplot.yaml
+++ b/plots/ecdf-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/letsplot/plot.html
quality_score: 96
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - grid-styling
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent realistic data scenario with web service response times showing mixed
diff --git a/plots/ecdf-basic/metadata/matplotlib.yaml b/plots/ecdf-basic/metadata/matplotlib.yaml
index c9f074085f..2b51518322 100644
--- a/plots/ecdf-basic/metadata/matplotlib.yaml
+++ b/plots/ecdf-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - grid-styling
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, correct ECDF implementation with proper step function using where="post"
diff --git a/plots/ecdf-basic/metadata/plotly.yaml b/plots/ecdf-basic/metadata/plotly.yaml
index ba1886411c..6ff3b12fba 100644
--- a/plots/ecdf-basic/metadata/plotly.yaml
+++ b/plots/ecdf-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with appropriately scaled fonts for 4800x2700 output
diff --git a/plots/ecdf-basic/metadata/plotnine.yaml b/plots/ecdf-basic/metadata/plotnine.yaml
index fd3d85db52..95baf8f2df 100644
--- a/plots/ecdf-basic/metadata/plotnine.yaml
+++ b/plots/ecdf-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, professional appearance with excellent text legibility
diff --git a/plots/ecdf-basic/metadata/pygal.yaml b/plots/ecdf-basic/metadata/pygal.yaml
index 152d53b39a..01735215e7 100644
--- a/plots/ecdf-basic/metadata/pygal.yaml
+++ b/plots/ecdf-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/pygal/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-colormap
+ - html-export
+ - grid-styling
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/ecdf-basic/metadata/seaborn.yaml b/plots/ecdf-basic/metadata/seaborn.yaml
index 9bc10a0a83..85b7adf123 100644
--- a/plots/ecdf-basic/metadata/seaborn.yaml
+++ b/plots/ecdf-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ecdf-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, professional ECDF visualization using seaborn native ecdfplot function
diff --git a/plots/elbow-curve/metadata/altair.yaml b/plots/elbow-curve/metadata/altair.yaml
index d92127d65c..0889ea3847 100644
--- a/plots/elbow-curve/metadata/altair.yaml
+++ b/plots/elbow-curve/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent elbow visualization with clear annotation of optimal k=4
diff --git a/plots/elbow-curve/metadata/bokeh.yaml b/plots/elbow-curve/metadata/bokeh.yaml
index 0561b6a63b..c36d44e355 100644
--- a/plots/elbow-curve/metadata/bokeh.yaml
+++ b/plots/elbow-curve/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and markers for the high-resolution
diff --git a/plots/elbow-curve/metadata/highcharts.yaml b/plots/elbow-curve/metadata/highcharts.yaml
index 16688cbbf9..614be0004b 100644
--- a/plots/elbow-curve/metadata/highcharts.yaml
+++ b/plots/elbow-curve/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with appropriate font sizes and marker visibility
diff --git a/plots/elbow-curve/metadata/letsplot.yaml b/plots/elbow-curve/metadata/letsplot.yaml
index 6a232e773d..6ed4ce170f 100644
--- a/plots/elbow-curve/metadata/letsplot.yaml
+++ b/plots/elbow-curve/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with properly scaled text elements for 4800x2700 resolution
diff --git a/plots/elbow-curve/metadata/matplotlib.yaml b/plots/elbow-curve/metadata/matplotlib.yaml
index 0dc6a69add..ce4e9ecd1d 100644
--- a/plots/elbow-curve/metadata/matplotlib.yaml
+++ b/plots/elbow-curve/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent elbow curve visualization with clear elbow point identification at k=4
diff --git a/plots/elbow-curve/metadata/plotly.yaml b/plots/elbow-curve/metadata/plotly.yaml
index 6e5e290f2b..881f4223c8 100644
--- a/plots/elbow-curve/metadata/plotly.yaml
+++ b/plots/elbow-curve/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent elbow point annotation with arrow, bordered text box, and contrasting
diff --git a/plots/elbow-curve/metadata/plotnine.yaml b/plots/elbow-curve/metadata/plotnine.yaml
index 61b1c0a975..82f24a419b 100644
--- a/plots/elbow-curve/metadata/plotnine.yaml
+++ b/plots/elbow-curve/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clear visual hierarchy with excellent text sizing at all levels (title, axis labels,
diff --git a/plots/elbow-curve/metadata/pygal.yaml b/plots/elbow-curve/metadata/pygal.yaml
index 30f77f808c..c19ee6b41d 100644
--- a/plots/elbow-curve/metadata/pygal.yaml
+++ b/plots/elbow-curve/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clear visualization of the elbow curve with excellent readability
diff --git a/plots/elbow-curve/metadata/seaborn.yaml b/plots/elbow-curve/metadata/seaborn.yaml
index b02174f4f8..910359dfff 100644
--- a/plots/elbow-curve/metadata/seaborn.yaml
+++ b/plots/elbow-curve/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/elbow-curve/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Clear elbow point annotation with arrow makes the key insight immediately visible
diff --git a/plots/errorbar-asymmetric/metadata/altair.yaml b/plots/errorbar-asymmetric/metadata/altair.yaml
index 8f629ce509..e68544478a 100644
--- a/plots/errorbar-asymmetric/metadata/altair.yaml
+++ b/plots/errorbar-asymmetric/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/altair/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair layered chart composition to build error bars from primitives
diff --git a/plots/errorbar-asymmetric/metadata/bokeh.yaml b/plots/errorbar-asymmetric/metadata/bokeh.yaml
index f8d47cdd97..e15631c9bd 100644
--- a/plots/errorbar-asymmetric/metadata/bokeh.yaml
+++ b/plots/errorbar-asymmetric/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent asymmetric error bar visualization with clear visual distinction between
diff --git a/plots/errorbar-asymmetric/metadata/highcharts.yaml b/plots/errorbar-asymmetric/metadata/highcharts.yaml
index dc9d24477b..f965ecc4ea 100644
--- a/plots/errorbar-asymmetric/metadata/highcharts.yaml
+++ b/plots/errorbar-asymmetric/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts native errorbar series type with proper caps/whiskers
diff --git a/plots/errorbar-asymmetric/metadata/letsplot.yaml b/plots/errorbar-asymmetric/metadata/letsplot.yaml
index d86ffedc1c..9415ce4460 100644
--- a/plots/errorbar-asymmetric/metadata/letsplot.yaml
+++ b/plots/errorbar-asymmetric/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized elements and readable text at all levels
diff --git a/plots/errorbar-asymmetric/metadata/matplotlib.yaml b/plots/errorbar-asymmetric/metadata/matplotlib.yaml
index 805676b166..2a6984f839 100644
--- a/plots/errorbar-asymmetric/metadata/matplotlib.yaml
+++ b/plots/errorbar-asymmetric/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Clear visualization of asymmetric error bars with visible caps and appropriate
diff --git a/plots/errorbar-asymmetric/metadata/plotly.yaml b/plots/errorbar-asymmetric/metadata/plotly.yaml
index 663e9bf8c6..ba8e1dd2ae 100644
--- a/plots/errorbar-asymmetric/metadata/plotly.yaml
+++ b/plots/errorbar-asymmetric/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of asymmetric error bars with clear visual distinction
diff --git a/plots/errorbar-asymmetric/metadata/plotnine.yaml b/plots/errorbar-asymmetric/metadata/plotnine.yaml
index d72db52942..d909835d91 100644
--- a/plots/errorbar-asymmetric/metadata/plotnine.yaml
+++ b/plots/errorbar-asymmetric/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized text and data elements
diff --git a/plots/errorbar-asymmetric/metadata/pygal.yaml b/plots/errorbar-asymmetric/metadata/pygal.yaml
index 95d989f6f5..31a2125f47 100644
--- a/plots/errorbar-asymmetric/metadata/pygal.yaml
+++ b/plots/errorbar-asymmetric/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clear visualization of asymmetric error bars using pygal XY chart creatively
diff --git a/plots/errorbar-asymmetric/metadata/seaborn.yaml b/plots/errorbar-asymmetric/metadata/seaborn.yaml
index a434adf232..ed3a70c4db 100644
--- a/plots/errorbar-asymmetric/metadata/seaborn.yaml
+++ b/plots/errorbar-asymmetric/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymme
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-asymmetric/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text elements following the guidelines
diff --git a/plots/errorbar-basic/metadata/altair.yaml b/plots/errorbar-basic/metadata/altair.yaml
index 402695f855..5ba10ee6c7 100644
--- a/plots/errorbar-basic/metadata/altair.yaml
+++ b/plots/errorbar-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Altair layering to compose error bars from rule + tick marks
diff --git a/plots/errorbar-basic/metadata/bokeh.yaml b/plots/errorbar-basic/metadata/bokeh.yaml
index ea76e56bb0..3f4a8e9e40 100644
--- a/plots/errorbar-basic/metadata/bokeh.yaml
+++ b/plots/errorbar-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Bokeh's Whisker and TeeHead components for professional error
diff --git a/plots/errorbar-basic/metadata/highcharts.yaml b/plots/errorbar-basic/metadata/highcharts.yaml
index 1174926453..8d90098124 100644
--- a/plots/errorbar-basic/metadata/highcharts.yaml
+++ b/plots/errorbar-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts native errorbar series type with proper whisker and
diff --git a/plots/errorbar-basic/metadata/letsplot.yaml b/plots/errorbar-basic/metadata/letsplot.yaml
index 1a835cdab6..046f467f4c 100644
--- a/plots/errorbar-basic/metadata/letsplot.yaml
+++ b/plots/errorbar-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Clean, professional visualization with proper error bar caps
diff --git a/plots/errorbar-basic/metadata/matplotlib.yaml b/plots/errorbar-basic/metadata/matplotlib.yaml
index 0529136264..48a6ba49aa 100644
--- a/plots/errorbar-basic/metadata/matplotlib.yaml
+++ b/plots/errorbar-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of asymmetric error bars demonstrating the feature mentioned
diff --git a/plots/errorbar-basic/metadata/plotly.yaml b/plots/errorbar-basic/metadata/plotly.yaml
index 8e4a9683e0..59e81013a0 100644
--- a/plots/errorbar-basic/metadata/plotly.yaml
+++ b/plots/errorbar-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clear, publication-quality visualization with excellent text legibility at all
diff --git a/plots/errorbar-basic/metadata/plotnine.yaml b/plots/errorbar-basic/metadata/plotnine.yaml
index b65d8d88fd..0298315a35 100644
--- a/plots/errorbar-basic/metadata/plotnine.yaml
+++ b/plots/errorbar-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Clean implementation using plotnine grammar of graphics idiom
diff --git a/plots/errorbar-basic/metadata/pygal.yaml b/plots/errorbar-basic/metadata/pygal.yaml
index bd794cf17d..0f3bece75d 100644
--- a/plots/errorbar-basic/metadata/pygal.yaml
+++ b/plots/errorbar-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - iteration-over-groups
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean implementation of error bars using pygal XY chart despite lack of native
diff --git a/plots/errorbar-basic/metadata/seaborn.yaml b/plots/errorbar-basic/metadata/seaborn.yaml
index 5f69637714..62331660ea 100644
--- a/plots/errorbar-basic/metadata/seaborn.yaml
+++ b/plots/errorbar-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/errorbar-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with proper font sizing for 4800x2700 canvas
diff --git a/plots/facet-grid/metadata/altair.yaml b/plots/facet-grid/metadata/altair.yaml
index 4edc1dbef7..deff1ff5e2 100644
--- a/plots/facet-grid/metadata/altair.yaml
+++ b/plots/facet-grid/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/facet-grid/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair's declarative faceting syntax with .facet() for clean
diff --git a/plots/facet-grid/metadata/bokeh.yaml b/plots/facet-grid/metadata/bokeh.yaml
index a5e933d82e..d7d35fd6d7 100644
--- a/plots/facet-grid/metadata/bokeh.yaml
+++ b/plots/facet-grid/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/facet-grid/bokeh/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Well-organized 4×3 grid layout that clearly shows patterns across regions and
diff --git a/plots/facet-grid/metadata/highcharts.yaml b/plots/facet-grid/metadata/highcharts.yaml
index 4d05ce7083..5c0614cec7 100644
--- a/plots/facet-grid/metadata/highcharts.yaml
+++ b/plots/facet-grid/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/facet-grid/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - subplots
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of a complex 3×3 faceted grid using Highcharts multi-axis
diff --git a/plots/facet-grid/metadata/letsplot.yaml b/plots/facet-grid/metadata/letsplot.yaml
index b3418fe68d..e80b598f47 100644
--- a/plots/facet-grid/metadata/letsplot.yaml
+++ b/plots/facet-grid/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/facet-grid/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - regression
+ styling: []
review:
strengths:
- Excellent facet_grid implementation demonstrating lets-plot's ggplot2 grammar
diff --git a/plots/facet-grid/metadata/matplotlib.yaml b/plots/facet-grid/metadata/matplotlib.yaml
index c8e6a73540..6d4bf43b54 100644
--- a/plots/facet-grid/metadata/matplotlib.yaml
+++ b/plots/facet-grid/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - annotations
+ - grid-styling
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent two-way faceting implementation with clear row and column structure
diff --git a/plots/facet-grid/metadata/plotly.yaml b/plots/facet-grid/metadata/plotly.yaml
index 973b034147..66c6c71f72 100644
--- a/plots/facet-grid/metadata/plotly.yaml
+++ b/plots/facet-grid/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/facet-grid/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean implementation using Plotly Express native faceting capability (facet_row,
diff --git a/plots/facet-grid/metadata/plotnine.yaml b/plots/facet-grid/metadata/plotnine.yaml
index 3fbefde727..a734f33313 100644
--- a/plots/facet-grid/metadata/plotnine.yaml
+++ b/plots/facet-grid/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent 3x3 facet grid demonstrating plotnine grammar of graphics with facet_grid
diff --git a/plots/facet-grid/metadata/pygal.yaml b/plots/facet-grid/metadata/pygal.yaml
index 3010b662de..3486c80cf7 100644
--- a/plots/facet-grid/metadata/pygal.yaml
+++ b/plots/facet-grid/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/facet-grid/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of faceted grid layout using creative PIL-based composition
diff --git a/plots/facet-grid/metadata/seaborn.yaml b/plots/facet-grid/metadata/seaborn.yaml
index 60a080a897..eea0622cfc 100644
--- a/plots/facet-grid/metadata/seaborn.yaml
+++ b/plots/facet-grid/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/facet-grid/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/facet-grid/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - grid-styling
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of seaborn FacetGrid for creating a 3×4 grid layout with row and
diff --git a/plots/forest-basic/metadata/altair.yaml b/plots/forest-basic/metadata/altair.yaml
index 49cb1eee6f..ee2e276039 100644
--- a/plots/forest-basic/metadata/altair.yaml
+++ b/plots/forest-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/forest-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and markers
diff --git a/plots/forest-basic/metadata/bokeh.yaml b/plots/forest-basic/metadata/bokeh.yaml
index 9ad014122d..ebf21055d7 100644
--- a/plots/forest-basic/metadata/bokeh.yaml
+++ b/plots/forest-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/forest-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all forest plot elements (diamond, whiskers, reference
diff --git a/plots/forest-basic/metadata/highcharts.yaml b/plots/forest-basic/metadata/highcharts.yaml
index d4680982b0..d798f51212 100644
--- a/plots/forest-basic/metadata/highcharts.yaml
+++ b/plots/forest-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/forest-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of forest plot with proper diamond marker for pooled
diff --git a/plots/forest-basic/metadata/letsplot.yaml b/plots/forest-basic/metadata/letsplot.yaml
index ff523f41d0..0a413cb95f 100644
--- a/plots/forest-basic/metadata/letsplot.yaml
+++ b/plots/forest-basic/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/forest-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the forest plot structure with all required elements
diff --git a/plots/forest-basic/metadata/matplotlib.yaml b/plots/forest-basic/metadata/matplotlib.yaml
index cc54c8e83b..a5b46bcbea 100644
--- a/plots/forest-basic/metadata/matplotlib.yaml
+++ b/plots/forest-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- 'Excellent implementation of the forest plot with all key elements: effect sizes,
diff --git a/plots/forest-basic/metadata/plotly.yaml b/plots/forest-basic/metadata/plotly.yaml
index df22a7a908..b2beedddd8 100644
--- a/plots/forest-basic/metadata/plotly.yaml
+++ b/plots/forest-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/forest-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent forest plot structure with studies displayed as squares with horizontal
diff --git a/plots/forest-basic/metadata/plotnine.yaml b/plots/forest-basic/metadata/plotnine.yaml
index e9be68fc17..09d09ad70a 100644
--- a/plots/forest-basic/metadata/plotnine.yaml
+++ b/plots/forest-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of forest plot structure with clear visual hierarchy
diff --git a/plots/forest-basic/metadata/pygal.yaml b/plots/forest-basic/metadata/pygal.yaml
index 79dd5515bd..1ce59002f3 100644
--- a/plots/forest-basic/metadata/pygal.yaml
+++ b/plots/forest-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/forest-basic/pygal/plot.html
quality_score: 75
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean data representation with study names and CI bounds displayed on Y-axis labels
diff --git a/plots/forest-basic/metadata/seaborn.yaml b/plots/forest-basic/metadata/seaborn.yaml
index 0aa36b279b..78c91842a4 100644
--- a/plots/forest-basic/metadata/seaborn.yaml
+++ b/plots/forest-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/forest-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/forest-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent implementation of all forest plot requirements: diamond pooled estimate,
diff --git a/plots/funnel-basic/metadata/altair.yaml b/plots/funnel-basic/metadata/altair.yaml
index 85284c659e..637bb43879 100644
--- a/plots/funnel-basic/metadata/altair.yaml
+++ b/plots/funnel-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent funnel visualization using centered horizontal bars with x/x2 encoding
diff --git a/plots/funnel-basic/metadata/bokeh.yaml b/plots/funnel-basic/metadata/bokeh.yaml
index 91aaf7466b..8eead6e3da 100644
--- a/plots/funnel-basic/metadata/bokeh.yaml
+++ b/plots/funnel-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/bokeh/plot.html
quality_score: 96
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Bokeh patch() method to create custom trapezoidal funnel segments
diff --git a/plots/funnel-basic/metadata/highcharts.yaml b/plots/funnel-basic/metadata/highcharts.yaml
index 8d5a9cd4b5..5a7c85df23 100644
--- a/plots/funnel-basic/metadata/highcharts.yaml
+++ b/plots/funnel-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent funnel visualization with clear stage progression from Awareness (1000)
@@ -29,15 +38,27 @@ review:
for better balance
- VQ-07 could be improved with subtle background styling or stage separators
- Library features score could be higher by adding hover tooltips or animation effects
- image_description: |-
- The plot displays a funnel chart with 5 sequential stages of a sales funnel. The title "funnel-basic · highcharts · pyplots.ai" appears at the top in bold black text. The funnel narrows from top to bottom with distinct colors for each stage:
- - **Awareness** (dark blue #306998): Widest segment at top, labeled "Awareness: 1,000 (43.5%)"
+ image_description: 'The plot displays a funnel chart with 5 sequential stages of
+ a sales funnel. The title "funnel-basic · highcharts · pyplots.ai" appears at
+ the top in bold black text. The funnel narrows from top to bottom with distinct
+ colors for each stage:
+
+ - **Awareness** (dark blue #306998): Widest segment at top, labeled "Awareness:
+ 1,000 (43.5%)"
+
- **Interest** (yellow #FFD43B): Second segment, labeled "Interest: 600 (26.1%)"
- - **Consideration** (purple #9467BD): Middle segment, labeled "Consideration: 400 (17.4%)"
+
+ - **Consideration** (purple #9467BD): Middle segment, labeled "Consideration:
+ 400 (17.4%)"
+
- **Intent** (cyan #17BECF): Narrow segment, labeled "Intent: 200 (8.7%)"
+
- **Purchase** (brown #8C564B): Narrowest at bottom, labeled "Purchase: 100 (4.3%)"
- Data labels are positioned to the right of each segment with connector lines. The funnel shape is well-proportioned with a neck at the bottom. White background with good canvas utilization.
+
+ Data labels are positioned to the right of each segment with connector lines.
+ The funnel shape is well-proportioned with a neck at the bottom. White background
+ with good canvas utilization.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/funnel-basic/metadata/letsplot.yaml b/plots/funnel-basic/metadata/letsplot.yaml
index bd82a2bcce..a8d7ef5de0 100644
--- a/plots/funnel-basic/metadata/letsplot.yaml
+++ b/plots/funnel-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - minimal-chrome
review:
strengths:
- Excellent visual design with clean trapezoid geometry and smooth color progression
diff --git a/plots/funnel-basic/metadata/matplotlib.yaml b/plots/funnel-basic/metadata/matplotlib.yaml
index b938c0133e..c8ad9cec7c 100644
--- a/plots/funnel-basic/metadata/matplotlib.yaml
+++ b/plots/funnel-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - minimal-chrome
review:
strengths:
- Excellent trapezoid geometry calculation with proper width proportions relative
diff --git a/plots/funnel-basic/metadata/plotly.yaml b/plots/funnel-basic/metadata/plotly.yaml
index 109b795d86..4353faac82 100644
--- a/plots/funnel-basic/metadata/plotly.yaml
+++ b/plots/funnel-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly native go.Funnel trace type for optimal funnel visualization
diff --git a/plots/funnel-basic/metadata/plotnine.yaml b/plots/funnel-basic/metadata/plotnine.yaml
index 2fbda38408..46e213517d 100644
--- a/plots/funnel-basic/metadata/plotnine.yaml
+++ b/plots/funnel-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual representation of funnel concept using centered rectangles with
diff --git a/plots/funnel-basic/metadata/pygal.yaml b/plots/funnel-basic/metadata/pygal.yaml
index 3d19f82559..069f62e600 100644
--- a/plots/funnel-basic/metadata/pygal.yaml
+++ b/plots/funnel-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal native Funnel chart type with proper data structure
diff --git a/plots/funnel-basic/metadata/seaborn.yaml b/plots/funnel-basic/metadata/seaborn.yaml
index eb6a5d48d1..80da98f811 100644
--- a/plots/funnel-basic/metadata/seaborn.yaml
+++ b/plots/funnel-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/funnel-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual design with well-proportioned trapezoidal segments
diff --git a/plots/gain-curve/metadata/altair.yaml b/plots/gain-curve/metadata/altair.yaml
index 5c5f988326..57fb37d561 100644
--- a/plots/gain-curve/metadata/altair.yaml
+++ b/plots/gain-curve/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gain-curve/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair's layered composition pattern with separate charts for
diff --git a/plots/gain-curve/metadata/bokeh.yaml b/plots/gain-curve/metadata/bokeh.yaml
index c00a39638c..2e7f658fa7 100644
--- a/plots/gain-curve/metadata/bokeh.yaml
+++ b/plots/gain-curve/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gain-curve/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all three required curves (model, baseline, perfect
diff --git a/plots/gain-curve/metadata/highcharts.yaml b/plots/gain-curve/metadata/highcharts.yaml
index 03393d79f4..0e3c9d3447 100644
--- a/plots/gain-curve/metadata/highcharts.yaml
+++ b/plots/gain-curve/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gain-curve/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - gradient-fill
review:
strengths:
- Excellent compliance with specification including both gain curve and random baseline
diff --git a/plots/gain-curve/metadata/letsplot.yaml b/plots/gain-curve/metadata/letsplot.yaml
index 98a8e7a264..cedf7e2e77 100644
--- a/plots/gain-curve/metadata/letsplot.yaml
+++ b/plots/gain-curve/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gain-curve/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the gain curve with all three required reference lines
@@ -26,13 +35,25 @@ review:
- X-axis scale extends slightly beyond 100% which looks unintended
- Model curve appears stepped/jagged due to discrete data points rather than smoothly
interpolated
- image_description: |-
- The plot displays a cumulative gains chart with three lines on a white background with subtle gray grid lines:
- - **Model curve (blue, #306998)**: A jagged/stepped blue line showing the model's cumulative gain, starting from origin and rising steeply initially before gradually flattening as it approaches 100%
- - **Random baseline (gray, #888888)**: A straight diagonal line from (0,0) to (100,100) representing random selection
- - **Perfect model (yellow, #FFD43B)**: Shows the theoretical perfect classifier - rises steeply vertically until reaching 100% gain at ~20% population, then remains horizontal at 100%
+ image_description: 'The plot displays a cumulative gains chart with three lines
+ on a white background with subtle gray grid lines:
- The X-axis shows "Population Targeted (%)" ranging from -5 to 100+, Y-axis shows "Positive Cases Captured (%)" from 0 to 100. Title reads "gain-curve · letsplot · pyplots.ai". Legend is positioned in the lower right area, clearly labeled "Curve" with entries for Model, Random, and Perfect.
+ - **Model curve (blue, #306998)**: A jagged/stepped blue line showing the model''s
+ cumulative gain, starting from origin and rising steeply initially before gradually
+ flattening as it approaches 100%
+
+ - **Random baseline (gray, #888888)**: A straight diagonal line from (0,0) to
+ (100,100) representing random selection
+
+ - **Perfect model (yellow, #FFD43B)**: Shows the theoretical perfect classifier
+ - rises steeply vertically until reaching 100% gain at ~20% population, then remains
+ horizontal at 100%
+
+
+ The X-axis shows "Population Targeted (%)" ranging from -5 to 100+, Y-axis shows
+ "Positive Cases Captured (%)" from 0 to 100. Title reads "gain-curve · letsplot
+ · pyplots.ai". Legend is positioned in the lower right area, clearly labeled "Curve"
+ with entries for Model, Random, and Perfect.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/gain-curve/metadata/matplotlib.yaml b/plots/gain-curve/metadata/matplotlib.yaml
index 47496f38f0..8f829efd85 100644
--- a/plots/gain-curve/metadata/matplotlib.yaml
+++ b/plots/gain-curve/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - fill-between
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the gains curve with all spec-required elements (model,
diff --git a/plots/gain-curve/metadata/plotly.yaml b/plots/gain-curve/metadata/plotly.yaml
index 197c871f23..fef5497abc 100644
--- a/plots/gain-curve/metadata/plotly.yaml
+++ b/plots/gain-curve/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gain-curve/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of cumulative gains chart with all three required curves
diff --git a/plots/gain-curve/metadata/plotnine.yaml b/plots/gain-curve/metadata/plotnine.yaml
index c3dcda6f09..925e90ab41 100644
--- a/plots/gain-curve/metadata/plotnine.yaml
+++ b/plots/gain-curve/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-chosen line widths and colors that make all
diff --git a/plots/gain-curve/metadata/pygal.yaml b/plots/gain-curve/metadata/pygal.yaml
index 9465531681..865040352d 100644
--- a/plots/gain-curve/metadata/pygal.yaml
+++ b/plots/gain-curve/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gain-curve/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Correct implementation of cumulative gains chart with model curve and random baseline
diff --git a/plots/gain-curve/metadata/seaborn.yaml b/plots/gain-curve/metadata/seaborn.yaml
index 4728c7da24..eaab9dab25 100644
--- a/plots/gain-curve/metadata/seaborn.yaml
+++ b/plots/gain-curve/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gain-curve/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gain-curve/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - fill-between
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with proper font sizing and colorblind-safe palette
diff --git a/plots/gantt-basic/metadata/altair.yaml b/plots/gantt-basic/metadata/altair.yaml
index 3968adf6fc..84f6f9f18a 100644
--- a/plots/gantt-basic/metadata/altair.yaml
+++ b/plots/gantt-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized bars, clear color coding, and readable
diff --git a/plots/gantt-basic/metadata/bokeh.yaml b/plots/gantt-basic/metadata/bokeh.yaml
index cd48777f88..622bfc0260 100644
--- a/plots/gantt-basic/metadata/bokeh.yaml
+++ b/plots/gantt-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ - custom-legend
+ patterns:
+ - explicit-figure
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized task labels and bars
diff --git a/plots/gantt-basic/metadata/highcharts.yaml b/plots/gantt-basic/metadata/highcharts.yaml
index ce5bafe777..8c9cdfc2c0 100644
--- a/plots/gantt-basic/metadata/highcharts.yaml
+++ b/plots/gantt-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Highcharts xrange series type for Gantt chart implementation
diff --git a/plots/gantt-basic/metadata/letsplot.yaml b/plots/gantt-basic/metadata/letsplot.yaml
index 90ede440d0..9236978794 100644
--- a/plots/gantt-basic/metadata/letsplot.yaml
+++ b/plots/gantt-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with proper bar sizing and spacing between tasks
diff --git a/plots/gantt-basic/metadata/matplotlib.yaml b/plots/gantt-basic/metadata/matplotlib.yaml
index 3f5017eb58..4e411b1a2e 100644
--- a/plots/gantt-basic/metadata/matplotlib.yaml
+++ b/plots/gantt-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - explicit-figure
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent color scheme using Python-branded colors with good accessibility
diff --git a/plots/gantt-basic/metadata/plotly.yaml b/plots/gantt-basic/metadata/plotly.yaml
index cbc32c6966..8a6246a1e1 100644
--- a/plots/gantt-basic/metadata/plotly.yaml
+++ b/plots/gantt-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of plotly.express px.timeline for Gantt chart creation - the right
diff --git a/plots/gantt-basic/metadata/plotnine.yaml b/plots/gantt-basic/metadata/plotnine.yaml
index 5f8474941f..0ab3c11e2e 100644
--- a/plots/gantt-basic/metadata/plotnine.yaml
+++ b/plots/gantt-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - explicit-figure
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of geom_segment with appropriate sizing for Gantt bars
diff --git a/plots/gantt-basic/metadata/pygal.yaml b/plots/gantt-basic/metadata/pygal.yaml
index 26fabf9517..a288938214 100644
--- a/plots/gantt-basic/metadata/pygal.yaml
+++ b/plots/gantt-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual presentation with clear horizontal bars and proper spacing between
diff --git a/plots/gantt-basic/metadata/seaborn.yaml b/plots/gantt-basic/metadata/seaborn.yaml
index 2585b3464a..97e085daf2 100644
--- a/plots/gantt-basic/metadata/seaborn.yaml
+++ b/plots/gantt-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gantt-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - explicit-figure
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of a Gantt chart using seaborn barplot with creative
diff --git a/plots/gauge-basic/metadata/altair.yaml b/plots/gauge-basic/metadata/altair.yaml
index e51fad761b..513734507a 100644
--- a/plots/gauge-basic/metadata/altair.yaml
+++ b/plots/gauge-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with clear color zones following intuitive red/yellow/green
diff --git a/plots/gauge-basic/metadata/bokeh.yaml b/plots/gauge-basic/metadata/bokeh.yaml
index c93d24b5dc..fdaa6cbacc 100644
--- a/plots/gauge-basic/metadata/bokeh.yaml
+++ b/plots/gauge-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with clean, professional appearance
diff --git a/plots/gauge-basic/metadata/highcharts.yaml b/plots/gauge-basic/metadata/highcharts.yaml
index 04e4451ea3..1f26db7f35 100644
--- a/plots/gauge-basic/metadata/highcharts.yaml
+++ b/plots/gauge-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-safe palette using purple/yellow/blue instead of red/yellow/green
diff --git a/plots/gauge-basic/metadata/letsplot.yaml b/plots/gauge-basic/metadata/letsplot.yaml
index 9ef7c99510..2b8028d868 100644
--- a/plots/gauge-basic/metadata/letsplot.yaml
+++ b/plots/gauge-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of a gauge chart using lets-plot polygon and segment
diff --git a/plots/gauge-basic/metadata/matplotlib.yaml b/plots/gauge-basic/metadata/matplotlib.yaml
index cdc28da434..3a3f08a323 100644
--- a/plots/gauge-basic/metadata/matplotlib.yaml
+++ b/plots/gauge-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent use of matplotlib low-level primitives (Wedge, Circle) for custom gauge
diff --git a/plots/gauge-basic/metadata/plotly.yaml b/plots/gauge-basic/metadata/plotly.yaml
index 835ba41c91..5af16fd39f 100644
--- a/plots/gauge-basic/metadata/plotly.yaml
+++ b/plots/gauge-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly native gauge indicator (go.Indicator) with proper mode=gauge+number
diff --git a/plots/gauge-basic/metadata/plotnine.yaml b/plots/gauge-basic/metadata/plotnine.yaml
index 9e1eb8e51c..7be10554c0 100644
--- a/plots/gauge-basic/metadata/plotnine.yaml
+++ b/plots/gauge-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths: []
weaknesses: []
diff --git a/plots/gauge-basic/metadata/pygal.yaml b/plots/gauge-basic/metadata/pygal.yaml
index af123ea5fd..5756e58c05 100644
--- a/plots/gauge-basic/metadata/pygal.yaml
+++ b/plots/gauge-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal SolidGauge with half_pie=True for semi-circular display
diff --git a/plots/gauge-basic/metadata/seaborn.yaml b/plots/gauge-basic/metadata/seaborn.yaml
index b0a178c254..17f5a87c24 100644
--- a/plots/gauge-basic/metadata/seaborn.yaml
+++ b/plots/gauge-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/gauge-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Creative use of seaborn scatterplot to build gauge arc with dense point markers
diff --git a/plots/heatmap-annotated/metadata/altair.yaml b/plots/heatmap-annotated/metadata/altair.yaml
index ed77f70623..897d4b51c9 100644
--- a/plots/heatmap-annotated/metadata/altair.yaml
+++ b/plots/heatmap-annotated/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent text contrast implementation using conditional color encoding for annotations
diff --git a/plots/heatmap-annotated/metadata/bokeh.yaml b/plots/heatmap-annotated/metadata/bokeh.yaml
index 280a0515c1..6dd5064485 100644
--- a/plots/heatmap-annotated/metadata/bokeh.yaml
+++ b/plots/heatmap-annotated/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - columndatasource
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent text contrast logic (white text on dark cells, black on light)
diff --git a/plots/heatmap-annotated/metadata/highcharts.yaml b/plots/heatmap-annotated/metadata/highcharts.yaml
index 77ba2bb9c0..2e52d29344 100644
--- a/plots/heatmap-annotated/metadata/highcharts.yaml
+++ b/plots/heatmap-annotated/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent diverging colormap (blue-white-yellow) that is colorblind-safe
diff --git a/plots/heatmap-annotated/metadata/letsplot.yaml b/plots/heatmap-annotated/metadata/letsplot.yaml
index 173271102a..967ee4aa5d 100644
--- a/plots/heatmap-annotated/metadata/letsplot.yaml
+++ b/plots/heatmap-annotated/metadata/letsplot.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent text contrast logic using value threshold to switch between white/black
diff --git a/plots/heatmap-annotated/metadata/matplotlib.yaml b/plots/heatmap-annotated/metadata/matplotlib.yaml
index 574aa67679..52dd703078 100644
--- a/plots/heatmap-annotated/metadata/matplotlib.yaml
+++ b/plots/heatmap-annotated/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent automatic text contrast algorithm (white on dark, black on light backgrounds)
diff --git a/plots/heatmap-annotated/metadata/plotly.yaml b/plots/heatmap-annotated/metadata/plotly.yaml
index 66f1a71153..d1406f055f 100644
--- a/plots/heatmap-annotated/metadata/plotly.yaml
+++ b/plots/heatmap-annotated/metadata/plotly.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of plotly create_annotated_heatmap from figure_factory for native
diff --git a/plots/heatmap-annotated/metadata/plotnine.yaml b/plots/heatmap-annotated/metadata/plotnine.yaml
index 2d5b4a8343..d47054f4c7 100644
--- a/plots/heatmap-annotated/metadata/plotnine.yaml
+++ b/plots/heatmap-annotated/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent implementation of contrasting text colors based on background intensity
diff --git a/plots/heatmap-annotated/metadata/pygal.yaml b/plots/heatmap-annotated/metadata/pygal.yaml
index 2a3575692c..4d16f8a1eb 100644
--- a/plots/heatmap-annotated/metadata/pygal.yaml
+++ b/plots/heatmap-annotated/metadata/pygal.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent implementation of an annotated heatmap in pygal, which does not natively
diff --git a/plots/heatmap-annotated/metadata/seaborn.yaml b/plots/heatmap-annotated/metadata/seaborn.yaml
index 8e6e666458..dcda868c8d 100644
--- a/plots/heatmap-annotated/metadata/seaborn.yaml
+++ b/plots/heatmap-annotated/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-annotated/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
review:
strengths:
- 'Excellent use of seaborn heatmap with all key parameters: annot, fmt, cmap, center,
diff --git a/plots/heatmap-basic/metadata/altair.yaml b/plots/heatmap-basic/metadata/altair.yaml
index 4db6251b79..e518abf054 100644
--- a/plots/heatmap-basic/metadata/altair.yaml
+++ b/plots/heatmap-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of diverging colormap (blueorange) with domainMid=50 to center the
diff --git a/plots/heatmap-basic/metadata/bokeh.yaml b/plots/heatmap-basic/metadata/bokeh.yaml
index 4e7eb1bd24..8d1c8f234a 100644
--- a/plots/heatmap-basic/metadata/bokeh.yaml
+++ b/plots/heatmap-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent use of Viridis colormap for colorblind accessibility
diff --git a/plots/heatmap-basic/metadata/highcharts.yaml b/plots/heatmap-basic/metadata/highcharts.yaml
index c7b3c0e4f8..d848676f41 100644
--- a/plots/heatmap-basic/metadata/highcharts.yaml
+++ b/plots/heatmap-basic/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean heatmap visualization with excellent cell color differentiation
diff --git a/plots/heatmap-basic/metadata/letsplot.yaml b/plots/heatmap-basic/metadata/letsplot.yaml
index d54a823040..4ef8230c4f 100644
--- a/plots/heatmap-basic/metadata/letsplot.yaml
+++ b/plots/heatmap-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of diverging color scale (blue-yellow-red) that clearly shows low,
diff --git a/plots/heatmap-basic/metadata/matplotlib.yaml b/plots/heatmap-basic/metadata/matplotlib.yaml
index 3f9e6d5bc4..8ad049b0b0 100644
--- a/plots/heatmap-basic/metadata/matplotlib.yaml
+++ b/plots/heatmap-basic/metadata/matplotlib.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
+ - edge-highlighting
review:
strengths:
- Excellent use of adaptive text colors (white on dark, black on light) for cell
diff --git a/plots/heatmap-basic/metadata/plotly.yaml b/plots/heatmap-basic/metadata/plotly.yaml
index 4857a1b0d3..6d91af15a5 100644
--- a/plots/heatmap-basic/metadata/plotly.yaml
+++ b/plots/heatmap-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent text legibility with well-chosen font sizes for all elements
diff --git a/plots/heatmap-basic/metadata/plotnine.yaml b/plots/heatmap-basic/metadata/plotnine.yaml
index 53af36180f..9263e7671c 100644
--- a/plots/heatmap-basic/metadata/plotnine.yaml
+++ b/plots/heatmap-basic/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent diverging color scheme using Python brand colors (blue/yellow) that
diff --git a/plots/heatmap-basic/metadata/pygal.yaml b/plots/heatmap-basic/metadata/pygal.yaml
index 58ea3fc51c..28b5aa07fd 100644
--- a/plots/heatmap-basic/metadata/pygal.yaml
+++ b/plots/heatmap-basic/metadata/pygal.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent custom implementation extending pygal Graph class to create heatmap
diff --git a/plots/heatmap-basic/metadata/seaborn.yaml b/plots/heatmap-basic/metadata/seaborn.yaml
index f453e74bcd..6513811410 100644
--- a/plots/heatmap-basic/metadata/seaborn.yaml
+++ b/plots/heatmap-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
+ - grid-styling
review:
strengths:
- Excellent use of diverging RdBu colormap centered at 50, making it easy to distinguish
diff --git a/plots/heatmap-calendar/metadata/altair.yaml b/plots/heatmap-calendar/metadata/altair.yaml
index d3a85b9db0..de9935b575 100644
--- a/plots/heatmap-calendar/metadata/altair.yaml
+++ b/plots/heatmap-calendar/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent GitHub-style calendar heatmap that perfectly matches the spec requirements
diff --git a/plots/heatmap-calendar/metadata/bokeh.yaml b/plots/heatmap-calendar/metadata/bokeh.yaml
index 160bf923e9..c911aa311b 100644
--- a/plots/heatmap-calendar/metadata/bokeh.yaml
+++ b/plots/heatmap-calendar/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent calendar grid layout with proper week/weekday structure
diff --git a/plots/heatmap-calendar/metadata/highcharts.yaml b/plots/heatmap-calendar/metadata/highcharts.yaml
index f31ac6d759..abfc45828f 100644
--- a/plots/heatmap-calendar/metadata/highcharts.yaml
+++ b/plots/heatmap-calendar/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent GitHub-style contribution graph aesthetic with appropriate green gradient
@@ -24,15 +35,28 @@ review:
- Bottom portion of canvas has noticeable empty space; layout could be more balanced
- Legend title could include a subtitle explaining the scale
- PNG has slight aspect ratio issue (2661px instead of 2700px)
- image_description: |-
- The plot displays a GitHub-style calendar heatmap showing daily activity for the year 2024. The visualization uses a grid layout with:
+ image_description: 'The plot displays a GitHub-style calendar heatmap showing daily
+ activity for the year 2024. The visualization uses a grid layout with:
+
- **Y-axis**: Weekday labels (Mon through Sun) on the left side
+
- **X-axis**: Month labels (Jan through Dec) along the top
- - **Colors**: A sequential green gradient from light gray (#ebedf0) for no activity to dark green (#216e39) for high activity, mimicking GitHub contribution graphs
- - **Title**: "Daily Activity 2024 · heatmap-calendar · highcharts · pyplots.ai" at the top center
- - **Legend**: Vertical color scale on the right showing "Commits" with values 0-16
- - **Layout**: Each cell represents one day, with weeks as columns and days of the week as rows. White borders separate individual cells with rounded corners.
- - **Data pattern**: Clear weekday vs weekend pattern visible (top rows for Sat/Sun show more gray/light cells), with seasonal variation showing higher activity in spring/fall months.
+
+ - **Colors**: A sequential green gradient from light gray (#ebedf0) for no activity
+ to dark green (#216e39) for high activity, mimicking GitHub contribution graphs
+
+ - **Title**: "Daily Activity 2024 · heatmap-calendar · highcharts · pyplots.ai"
+ at the top center
+
+ - **Legend**: Vertical color scale on the right showing "Commits" with values
+ 0-16
+
+ - **Layout**: Each cell represents one day, with weeks as columns and days of
+ the week as rows. White borders separate individual cells with rounded corners.
+
+ - **Data pattern**: Clear weekday vs weekend pattern visible (top rows for Sat/Sun
+ show more gray/light cells), with seasonal variation showing higher activity in
+ spring/fall months.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/heatmap-calendar/metadata/letsplot.yaml b/plots/heatmap-calendar/metadata/letsplot.yaml
index 31bcf2819f..e41a88b7bd 100644
--- a/plots/heatmap-calendar/metadata/letsplot.yaml
+++ b/plots/heatmap-calendar/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent calendar layout with proper week numbering and month positioning
diff --git a/plots/heatmap-calendar/metadata/matplotlib.yaml b/plots/heatmap-calendar/metadata/matplotlib.yaml
index 98a0f475c1..56a5e63a69 100644
--- a/plots/heatmap-calendar/metadata/matplotlib.yaml
+++ b/plots/heatmap-calendar/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
+ - edge-highlighting
review:
strengths:
- Excellent GitHub-style calendar heatmap implementation with proper week/day structure
diff --git a/plots/heatmap-calendar/metadata/plotly.yaml b/plots/heatmap-calendar/metadata/plotly.yaml
index 1f4092742c..7c0d45e89e 100644
--- a/plots/heatmap-calendar/metadata/plotly.yaml
+++ b/plots/heatmap-calendar/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent visual implementation of GitHub-style calendar heatmap with authentic
diff --git a/plots/heatmap-calendar/metadata/plotnine.yaml b/plots/heatmap-calendar/metadata/plotnine.yaml
index 08f9130074..5b8535b07e 100644
--- a/plots/heatmap-calendar/metadata/plotnine.yaml
+++ b/plots/heatmap-calendar/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent GitHub-style calendar heatmap visualization with clear weekday and month
diff --git a/plots/heatmap-calendar/metadata/pygal.yaml b/plots/heatmap-calendar/metadata/pygal.yaml
index 4f3414bd0c..3f7181d31d 100644
--- a/plots/heatmap-calendar/metadata/pygal.yaml
+++ b/plots/heatmap-calendar/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent GitHub-style visual design with authentic green color palette
diff --git a/plots/heatmap-calendar/metadata/seaborn.yaml b/plots/heatmap-calendar/metadata/seaborn.yaml
index 402c4ad421..09d4149e2c 100644
--- a/plots/heatmap-calendar/metadata/seaborn.yaml
+++ b/plots/heatmap-calendar/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-calenda
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-calendar/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - long-to-wide
+ dataprep: []
+ styling:
+ - custom-colormap
+ - edge-highlighting
review:
strengths:
- Excellent calendar layout with weeks as columns and weekdays as rows
diff --git a/plots/heatmap-clustered/metadata/altair.yaml b/plots/heatmap-clustered/metadata/altair.yaml
index 63bf61cc32..3d4fcebb2f 100644
--- a/plots/heatmap-clustered/metadata/altair.yaml
+++ b/plots/heatmap-clustered/metadata/altair.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - wide-to-long
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent implementation of a complex visualization with both row and column dendrograms
@@ -25,17 +39,34 @@ review:
- Colorbar legend could benefit from more prominent formatting
- The dendrogram line thickness could be slightly reduced for visual elegance
- Missing interactive zoom/pan features that Altair supports
- image_description: |-
- The plot displays a clustered heatmap showing gene expression data for 20 genes across 15 samples. The visualization features:
- - **Title**: "heatmap-clustered · altair · pyplots.ai" centered at the top in large black text
- - **Dendrograms**: Row dendrogram on the left showing hierarchical clustering of genes, column dendrogram at the top showing clustering of samples - both rendered as dark gray lines
+ image_description: 'The plot displays a clustered heatmap showing gene expression
+ data for 20 genes across 15 samples. The visualization features:
+
+ - **Title**: "heatmap-clustered · altair · pyplots.ai" centered at the top in
+ large black text
+
+ - **Dendrograms**: Row dendrogram on the left showing hierarchical clustering
+ of genes, column dendrogram at the top showing clustering of samples - both rendered
+ as dark gray lines
+
- **Heatmap**: 20×15 grid of colored rectangles representing expression values
- - **Color scheme**: Diverging red-blue colormap (red = high expression ~6, white = near zero, blue = low expression ~-4)
- - **Colorbar**: Vertical legend on the right labeled "Expression" with values from -4 to 6
- - **Axis labels**: "Genes" on y-axis, "Samples" on x-axis, both with appropriate font sizes
+
+ - **Color scheme**: Diverging red-blue colormap (red = high expression ~6, white
+ = near zero, blue = low expression ~-4)
+
+ - **Colorbar**: Vertical legend on the right labeled "Expression" with values
+ from -4 to 6
+
+ - **Axis labels**: "Genes" on y-axis, "Samples" on x-axis, both with appropriate
+ font sizes
+
- **Gene labels**: Gene_01 through Gene_20 (reordered by clustering) on y-axis
- - **Sample labels**: Sample_01 through Sample_15 (reordered by clustering) on x-axis, displayed at -45° angle
- - **Visible clusters**: Clear expression patterns visible - Gene clusters (01-05, 10-15) showing high expression in certain sample groups
+
+ - **Sample labels**: Sample_01 through Sample_15 (reordered by clustering) on
+ x-axis, displayed at -45° angle
+
+ - **Visible clusters**: Clear expression patterns visible - Gene clusters (01-05,
+ 10-15) showing high expression in certain sample groups'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/heatmap-clustered/metadata/bokeh.yaml b/plots/heatmap-clustered/metadata/bokeh.yaml
index 8b828d1625..14ec27b83b 100644
--- a/plots/heatmap-clustered/metadata/bokeh.yaml
+++ b/plots/heatmap-clustered/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ - matrix-construction
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent implementation of hierarchical clustering with dendrograms on both axes
diff --git a/plots/heatmap-clustered/metadata/highcharts.yaml b/plots/heatmap-clustered/metadata/highcharts.yaml
index 685c930ab2..db6078d0bc 100644
--- a/plots/heatmap-clustered/metadata/highcharts.yaml
+++ b/plots/heatmap-clustered/metadata/highcharts.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent implementation of hierarchical clustering with Ward's method and Euclidean
diff --git a/plots/heatmap-clustered/metadata/letsplot.yaml b/plots/heatmap-clustered/metadata/letsplot.yaml
index 947d246ab3..7d7d72f3d3 100644
--- a/plots/heatmap-clustered/metadata/letsplot.yaml
+++ b/plots/heatmap-clustered/metadata/letsplot.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - wide-to-long
+ dataprep:
+ - hierarchical-clustering
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of composite plot using ggbunch to combine dendrograms
diff --git a/plots/heatmap-clustered/metadata/matplotlib.yaml b/plots/heatmap-clustered/metadata/matplotlib.yaml
index 031dcf1d14..d8db0e3421 100644
--- a/plots/heatmap-clustered/metadata/matplotlib.yaml
+++ b/plots/heatmap-clustered/metadata/matplotlib.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - subplots
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - hierarchical-clustering
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent realistic gene expression data scenario with proper biological context
diff --git a/plots/heatmap-clustered/metadata/plotly.yaml b/plots/heatmap-clustered/metadata/plotly.yaml
index 7ee8ae33a7..3c5d253013 100644
--- a/plots/heatmap-clustered/metadata/plotly.yaml
+++ b/plots/heatmap-clustered/metadata/plotly.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - hover-tooltips
+ - html-export
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - hierarchical-clustering
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of scipy hierarchical clustering with proper Ward's method and Euclidean
@@ -27,15 +41,28 @@ review:
labels are present
- No row/column color bars for group annotations as suggested in spec Notes (could
annotate gene pathways or tumor/normal status)
- image_description: |-
- The plot shows a clustered heatmap displaying gene expression data for 20 genes across 12 samples. The visualization features:
- - **Dendrograms**: Blue hierarchical clustering trees on both the top (column clustering) and left (row clustering) sides
- - **Heatmap**: A well-proportioned central heatmap using the RdBu_r diverging colormap (red=high expression ~3, blue=low expression ~-3)
- - **Title**: Correctly formatted as "heatmap-clustered · plotly · pyplots.ai" centered at top
- - **Gene labels** (rows): PLK1, CDK1, MYC, BUB1, AURKA, CCNB1, VEGFA, EGFR, BRCA1, TP53, PKM, HK2, LDHA, ENO1, GAPDH, CXCL8, IL1B, IFNG, TNF, IL6
- - **Sample labels** (columns): N2_C, N2_A, N2_B, N1_C, N1_A, N1_B, T1_C, T1_A, T1_B, T2_C, T2_A, T2_B (rotated 45°)
+ image_description: 'The plot shows a clustered heatmap displaying gene expression
+ data for 20 genes across 12 samples. The visualization features:
+
+ - **Dendrograms**: Blue hierarchical clustering trees on both the top (column
+ clustering) and left (row clustering) sides
+
+ - **Heatmap**: A well-proportioned central heatmap using the RdBu_r diverging
+ colormap (red=high expression ~3, blue=low expression ~-3)
+
+ - **Title**: Correctly formatted as "heatmap-clustered · plotly · pyplots.ai"
+ centered at top
+
+ - **Gene labels** (rows): PLK1, CDK1, MYC, BUB1, AURKA, CCNB1, VEGFA, EGFR, BRCA1,
+ TP53, PKM, HK2, LDHA, ENO1, GAPDH, CXCL8, IL1B, IFNG, TNF, IL6
+
+ - **Sample labels** (columns): N2_C, N2_A, N2_B, N1_C, N1_A, N1_B, T1_C, T1_A,
+ T1_B, T2_C, T2_A, T2_B (rotated 45°)
+
- **Colorbar**: On the right with "Expression (z-score)" title, range -3 to 3
- - **Clear clustering**: Normal samples (N) cluster together on the left, Tumor samples (T) on the right, demonstrating successful hierarchical clustering
+
+ - **Clear clustering**: Normal samples (N) cluster together on the left, Tumor
+ samples (T) on the right, demonstrating successful hierarchical clustering'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/heatmap-clustered/metadata/plotnine.yaml b/plots/heatmap-clustered/metadata/plotnine.yaml
index 0ea91cee1e..30e31f1532 100644
--- a/plots/heatmap-clustered/metadata/plotnine.yaml
+++ b/plots/heatmap-clustered/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent implementation of clustered heatmap using pure plotnine grammar of graphics
@@ -24,14 +35,25 @@ review:
- Sample labels at bottom could be slightly larger for better readability at full
resolution
- Code is necessarily complex due to manual dendrogram coordinate calculation
- image_description: |-
- The plot displays a clustered heatmap showing gene expression data for 12 genes (rows) across 8 samples (columns). The visualization features:
- - **Color scheme**: Diverging palette using Python Blue (#306998) for low expression, white for zero, and Python Yellow (#FFD43B) for high expression
- - **Dendrograms**: Row dendrogram on the left showing hierarchical gene clustering; column dendrogram on top showing sample clustering
- - **Labels**: Gene names (Gene1-Gene12) on the right side; sample names (SampleA-SampleH) at the bottom, rotated 45°
+ image_description: 'The plot displays a clustered heatmap showing gene expression
+ data for 12 genes (rows) across 8 samples (columns). The visualization features:
+
+ - **Color scheme**: Diverging palette using Python Blue (#306998) for low expression,
+ white for zero, and Python Yellow (#FFD43B) for high expression
+
+ - **Dendrograms**: Row dendrogram on the left showing hierarchical gene clustering;
+ column dendrogram on top showing sample clustering
+
+ - **Labels**: Gene names (Gene1-Gene12) on the right side; sample names (SampleA-SampleH)
+ at the bottom, rotated 45°
+
- **Title**: "heatmap-clustered · plotnine · pyplots.ai" centered at top
+
- **Legend**: Colorbar labeled "Expression Level" showing scale from -2 to 2
- - **Clustering patterns**: Clear groupings visible - genes 1-4 cluster together (high in samples A-D), genes 5-8 form another cluster (opposite pattern), genes 9-12 show mixed patterns
+
+ - **Clustering patterns**: Clear groupings visible - genes 1-4 cluster together
+ (high in samples A-D), genes 5-8 form another cluster (opposite pattern), genes
+ 9-12 show mixed patterns'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/heatmap-clustered/metadata/pygal.yaml b/plots/heatmap-clustered/metadata/pygal.yaml
index 48ad5e9bb9..bb79a1ecc7 100644
--- a/plots/heatmap-clustered/metadata/pygal.yaml
+++ b/plots/heatmap-clustered/metadata/pygal.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - annotations
+ - colorbar
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent implementation of a complex visualization type (clustered heatmap) that
diff --git a/plots/heatmap-clustered/metadata/seaborn.yaml b/plots/heatmap-clustered/metadata/seaborn.yaml
index 5b8a6eb468..8602f958eb 100644
--- a/plots/heatmap-clustered/metadata/seaborn.yaml
+++ b/plots/heatmap-clustered/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-cluster
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-clustered/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - subplots
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep:
+ - hierarchical-clustering
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of seaborn clustermap function with all key parameters (method,
diff --git a/plots/heatmap-correlation/metadata/altair.yaml b/plots/heatmap-correlation/metadata/altair.yaml
index f82423471d..0ee3d7a07a 100644
--- a/plots/heatmap-correlation/metadata/altair.yaml
+++ b/plots/heatmap-correlation/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent diverging color scheme (redblue) properly centered at zero with domain
diff --git a/plots/heatmap-correlation/metadata/bokeh.yaml b/plots/heatmap-correlation/metadata/bokeh.yaml
index 69361a08ac..5dde5c1312 100644
--- a/plots/heatmap-correlation/metadata/bokeh.yaml
+++ b/plots/heatmap-correlation/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - columndatasource
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent implementation of lower triangle masking to reduce visual redundancy
diff --git a/plots/heatmap-correlation/metadata/highcharts.yaml b/plots/heatmap-correlation/metadata/highcharts.yaml
index 50af8c88b5..0551efc034 100644
--- a/plots/heatmap-correlation/metadata/highcharts.yaml
+++ b/plots/heatmap-correlation/metadata/highcharts.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent use of lower-triangle format to reduce redundancy as suggested in spec
diff --git a/plots/heatmap-correlation/metadata/letsplot.yaml b/plots/heatmap-correlation/metadata/letsplot.yaml
index c72d01cd7f..8d0a6f6771 100644
--- a/plots/heatmap-correlation/metadata/letsplot.yaml
+++ b/plots/heatmap-correlation/metadata/letsplot.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent diverging color scheme (blue-white-red) with proper midpoint at 0
diff --git a/plots/heatmap-correlation/metadata/matplotlib.yaml b/plots/heatmap-correlation/metadata/matplotlib.yaml
index 205fb85f9d..4a71eb6966 100644
--- a/plots/heatmap-correlation/metadata/matplotlib.yaml
+++ b/plots/heatmap-correlation/metadata/matplotlib.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent implementation of all spec requirements including upper triangle masking,
diff --git a/plots/heatmap-correlation/metadata/plotly.yaml b/plots/heatmap-correlation/metadata/plotly.yaml
index ff78d509b4..7b044f6911 100644
--- a/plots/heatmap-correlation/metadata/plotly.yaml
+++ b/plots/heatmap-correlation/metadata/plotly.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent diverging RdBu colorscale centered at zero for intuitive correlation
diff --git a/plots/heatmap-correlation/metadata/plotnine.yaml b/plots/heatmap-correlation/metadata/plotnine.yaml
index ae6e39966a..8078e94d6f 100644
--- a/plots/heatmap-correlation/metadata/plotnine.yaml
+++ b/plots/heatmap-correlation/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - wide-to-long
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent diverging color scheme (blue-white-red) perfectly suited for correlation
diff --git a/plots/heatmap-correlation/metadata/pygal.yaml b/plots/heatmap-correlation/metadata/pygal.yaml
index 4f7331cb99..010ee6fc93 100644
--- a/plots/heatmap-correlation/metadata/pygal.yaml
+++ b/plots/heatmap-correlation/metadata/pygal.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent implementation of a non-native chart type by extending pygal Graph class
diff --git a/plots/heatmap-correlation/metadata/seaborn.yaml b/plots/heatmap-correlation/metadata/seaborn.yaml
index 4f9187652a..d6a6666f3d 100644
--- a/plots/heatmap-correlation/metadata/seaborn.yaml
+++ b/plots/heatmap-correlation/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-correla
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-correlation/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of seaborn heatmap function with mask parameter for triangle display
diff --git a/plots/hexbin-basic/metadata/altair.yaml b/plots/hexbin-basic/metadata/altair.yaml
index 27bbb3c01b..f61963e5f8 100644
--- a/plots/hexbin-basic/metadata/altair.yaml
+++ b/plots/hexbin-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/altair/plot.html
quality_score: 72
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent realistic data scenario using actual Seattle GPS coordinates with believable
diff --git a/plots/hexbin-basic/metadata/bokeh.yaml b/plots/hexbin-basic/metadata/bokeh.yaml
index 729efbd568..589151376f 100644
--- a/plots/hexbin-basic/metadata/bokeh.yaml
+++ b/plots/hexbin-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/bokeh/plot.html
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual hexbin implementation using patches for full control
diff --git a/plots/hexbin-basic/metadata/highcharts.yaml b/plots/hexbin-basic/metadata/highcharts.yaml
index 6c7424cfc2..405409cda1 100644
--- a/plots/hexbin-basic/metadata/highcharts.yaml
+++ b/plots/hexbin-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/hexbin-basic/metadata/letsplot.yaml b/plots/hexbin-basic/metadata/letsplot.yaml
index 92ca4f6ab8..e48065ddd4 100644
--- a/plots/hexbin-basic/metadata/letsplot.yaml
+++ b/plots/hexbin-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of viridis colormap for perceptually uniform density visualization
diff --git a/plots/hexbin-basic/metadata/matplotlib.yaml b/plots/hexbin-basic/metadata/matplotlib.yaml
index 303a31cabe..4cc1056718 100644
--- a/plots/hexbin-basic/metadata/matplotlib.yaml
+++ b/plots/hexbin-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 100
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/hexbin-basic/metadata/plotly.yaml b/plots/hexbin-basic/metadata/plotly.yaml
index 628f543d4d..f4e0f4af77 100644
--- a/plots/hexbin-basic/metadata/plotly.yaml
+++ b/plots/hexbin-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/hexbin-basic/metadata/plotnine.yaml b/plots/hexbin-basic/metadata/plotnine.yaml
index 38299fee07..56e8a8c59d 100644
--- a/plots/hexbin-basic/metadata/plotnine.yaml
+++ b/plots/hexbin-basic/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual output showing three distinct density clusters
diff --git a/plots/hexbin-basic/metadata/pygal.yaml b/plots/hexbin-basic/metadata/pygal.yaml
index d445988c63..393e6ab242 100644
--- a/plots/hexbin-basic/metadata/pygal.yaml
+++ b/plots/hexbin-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/pygal/plot.html
quality_score: 87
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/hexbin-basic/metadata/seaborn.yaml b/plots/hexbin-basic/metadata/seaborn.yaml
index d11a8ee1fc..b54714afaa 100644
--- a/plots/hexbin-basic/metadata/seaborn.yaml
+++ b/plots/hexbin-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hexbin-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - subplots
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of viridis colormap for perceptually uniform density visualization
diff --git a/plots/histogram-2d/metadata/altair.yaml b/plots/histogram-2d/metadata/altair.yaml
index 46766a02b9..b0d36a6611 100644
--- a/plots/histogram-2d/metadata/altair.yaml
+++ b/plots/histogram-2d/metadata/altair.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative syntax with mark_rect and bin encoding for
diff --git a/plots/histogram-2d/metadata/bokeh.yaml b/plots/histogram-2d/metadata/bokeh.yaml
index e459cdbb92..3a993ce72f 100644
--- a/plots/histogram-2d/metadata/bokeh.yaml
+++ b/plots/histogram-2d/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Viridis colormap for perceptually uniform density representation
diff --git a/plots/histogram-2d/metadata/highcharts.yaml b/plots/histogram-2d/metadata/highcharts.yaml
index 56f45034e9..5969bbc4b0 100644
--- a/plots/histogram-2d/metadata/highcharts.yaml
+++ b/plots/histogram-2d/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of viridis colormap with proper color stops for perceptual uniformity
diff --git a/plots/histogram-2d/metadata/letsplot.yaml b/plots/histogram-2d/metadata/letsplot.yaml
index e88dc82a46..8f601f7810 100644
--- a/plots/histogram-2d/metadata/letsplot.yaml
+++ b/plots/histogram-2d/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of viridis colormap for perceptually uniform color representation
diff --git a/plots/histogram-2d/metadata/matplotlib.yaml b/plots/histogram-2d/metadata/matplotlib.yaml
index 887af48fab..9fe3a2c0d9 100644
--- a/plots/histogram-2d/metadata/matplotlib.yaml
+++ b/plots/histogram-2d/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of viridis colormap for perceptually uniform density representation
diff --git a/plots/histogram-2d/metadata/plotly.yaml b/plots/histogram-2d/metadata/plotly.yaml
index 8ea49ccb33..aa553af4e9 100644
--- a/plots/histogram-2d/metadata/plotly.yaml
+++ b/plots/histogram-2d/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent implementation of marginal histograms using make_subplots with shared_xaxes/shared_yaxes
diff --git a/plots/histogram-2d/metadata/plotnine.yaml b/plots/histogram-2d/metadata/plotnine.yaml
index cb4b6dbc10..0887167e86 100644
--- a/plots/histogram-2d/metadata/plotnine.yaml
+++ b/plots/histogram-2d/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of viridis colormap which is perceptually uniform and colorblind-safe
diff --git a/plots/histogram-2d/metadata/pygal.yaml b/plots/histogram-2d/metadata/pygal.yaml
index 928e512fca..38e10de1b1 100644
--- a/plots/histogram-2d/metadata/pygal.yaml
+++ b/plots/histogram-2d/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of marginal histograms as specified in the notes (optional
diff --git a/plots/histogram-2d/metadata/seaborn.yaml b/plots/histogram-2d/metadata/seaborn.yaml
index a5125b9073..5ee13c7123 100644
--- a/plots/histogram-2d/metadata/seaborn.yaml
+++ b/plots/histogram-2d/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-2d/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of seaborn JointGrid to create marginal histograms alongside the
diff --git a/plots/histogram-basic/metadata/altair.yaml b/plots/histogram-basic/metadata/altair.yaml
index 6b2a33c868..6c3053df69 100644
--- a/plots/histogram-basic/metadata/altair.yaml
+++ b/plots/histogram-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of declarative Altair syntax with proper encoding types
diff --git a/plots/histogram-basic/metadata/bokeh.yaml b/plots/histogram-basic/metadata/bokeh.yaml
index b8e137763a..8bfed168fb 100644
--- a/plots/histogram-basic/metadata/bokeh.yaml
+++ b/plots/histogram-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep:
+ - binning
+ styling:
+ - grid-styling
review:
strengths:
- Excellent realistic data context using human heights with proper statistical parameters
diff --git a/plots/histogram-basic/metadata/highcharts.yaml b/plots/histogram-basic/metadata/highcharts.yaml
index b1f59d433e..e77bb8207e 100644
--- a/plots/histogram-basic/metadata/highcharts.yaml
+++ b/plots/histogram-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - binning
+ styling:
+ - grid-styling
review:
strengths:
- 'Excellent histogram representation with no gaps between bars (pointPadding: 0,
diff --git a/plots/histogram-basic/metadata/letsplot.yaml b/plots/histogram-basic/metadata/letsplot.yaml
index e00da408fe..98c8ccafde 100644
--- a/plots/histogram-basic/metadata/letsplot.yaml
+++ b/plots/histogram-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
+ - edge-highlighting
review:
strengths:
- Excellent use of bimodal height data showing male/female distributions - demonstrates
diff --git a/plots/histogram-basic/metadata/matplotlib.yaml b/plots/histogram-basic/metadata/matplotlib.yaml
index ae8268ca65..493c282591 100644
--- a/plots/histogram-basic/metadata/matplotlib.yaml
+++ b/plots/histogram-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent text legibility with proper font sizing for high-resolution output
diff --git a/plots/histogram-basic/metadata/plotly.yaml b/plots/histogram-basic/metadata/plotly.yaml
index 21ef7d60a0..87a33e078d 100644
--- a/plots/histogram-basic/metadata/plotly.yaml
+++ b/plots/histogram-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with proper font sizing for 4800x2700 output
diff --git a/plots/histogram-basic/metadata/plotnine.yaml b/plots/histogram-basic/metadata/plotnine.yaml
index fffc7b3fc4..8ad74ad92e 100644
--- a/plots/histogram-basic/metadata/plotnine.yaml
+++ b/plots/histogram-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent text sizing following library guidelines (title 24pt, axis titles 20pt,
diff --git a/plots/histogram-basic/metadata/pygal.yaml b/plots/histogram-basic/metadata/pygal.yaml
index 07693cd98f..7a4570cf10 100644
--- a/plots/histogram-basic/metadata/pygal.yaml
+++ b/plots/histogram-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - binning
+ styling:
+ - grid-styling
review:
strengths:
- Correct use of pygal.Histogram with manually computed bins using numpy histogram
diff --git a/plots/histogram-basic/metadata/seaborn.yaml b/plots/histogram-basic/metadata/seaborn.yaml
index 820cc970f6..93a4dea4bb 100644
--- a/plots/histogram-basic/metadata/seaborn.yaml
+++ b/plots/histogram-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text and well-proportioned layout
diff --git a/plots/histogram-cumulative/metadata/altair.yaml b/plots/histogram-cumulative/metadata/altair.yaml
index 30e1e86932..67b30c735e 100644
--- a/plots/histogram-cumulative/metadata/altair.yaml
+++ b/plots/histogram-cumulative/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling: []
review:
strengths:
- Excellent visual clarity with proper font sizing throughout
diff --git a/plots/histogram-cumulative/metadata/bokeh.yaml b/plots/histogram-cumulative/metadata/bokeh.yaml
index 5e753cc3e9..2abd1d7071 100644
--- a/plots/histogram-cumulative/metadata/bokeh.yaml
+++ b/plots/histogram-cumulative/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling:
+ - grid-styling
review:
strengths:
- Excellent step function implementation using manual coordinate construction
diff --git a/plots/histogram-cumulative/metadata/highcharts.yaml b/plots/histogram-cumulative/metadata/highcharts.yaml
index d1caa1510e..f54372c232 100644
--- a/plots/histogram-cumulative/metadata/highcharts.yaml
+++ b/plots/histogram-cumulative/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling:
+ - gradient-fill
review:
strengths:
- Excellent step-area visualization that clearly shows cumulative distribution behavior
diff --git a/plots/histogram-cumulative/metadata/letsplot.yaml b/plots/histogram-cumulative/metadata/letsplot.yaml
index 684c06e5e4..5a580e4c25 100644
--- a/plots/histogram-cumulative/metadata/letsplot.yaml
+++ b/plots/histogram-cumulative/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/letsplot/plot.html
quality_score: 99
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual quality with proper text sizing and canvas utilization
diff --git a/plots/histogram-cumulative/metadata/matplotlib.yaml b/plots/histogram-cumulative/metadata/matplotlib.yaml
index 1ba1b41280..47d95e1867 100644
--- a/plots/histogram-cumulative/metadata/matplotlib.yaml
+++ b/plots/histogram-cumulative/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of step histogram with filled area for clear visualization of cumulative
diff --git a/plots/histogram-cumulative/metadata/plotly.yaml b/plots/histogram-cumulative/metadata/plotly.yaml
index b7103e477e..cf9a34ea2f 100644
--- a/plots/histogram-cumulative/metadata/plotly.yaml
+++ b/plots/histogram-cumulative/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling: []
review:
strengths:
- Excellent visual design with clear step function representation of cumulative
diff --git a/plots/histogram-cumulative/metadata/plotnine.yaml b/plots/histogram-cumulative/metadata/plotnine.yaml
index 95f6832a04..fca95e1cdd 100644
--- a/plots/histogram-cumulative/metadata/plotnine.yaml
+++ b/plots/histogram-cumulative/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling:
+ - grid-styling
review:
strengths:
- Clean implementation of cumulative histogram using plotnine grammar of graphics
diff --git a/plots/histogram-cumulative/metadata/pygal.yaml b/plots/histogram-cumulative/metadata/pygal.yaml
index 6557593aba..8a728d5ca1 100644
--- a/plots/histogram-cumulative/metadata/pygal.yaml
+++ b/plots/histogram-cumulative/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling: []
review:
strengths:
- Clean, professional appearance with appropriate font sizes for 4800x2700 canvas
diff --git a/plots/histogram-cumulative/metadata/seaborn.yaml b/plots/histogram-cumulative/metadata/seaborn.yaml
index 95e14467fe..55595be4a9 100644
--- a/plots/histogram-cumulative/metadata/seaborn.yaml
+++ b/plots/histogram-cumulative/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-cumul
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-cumulative/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of seaborn histplot with cumulative=True and stat=proportion for
diff --git a/plots/histogram-density/metadata/altair.yaml b/plots/histogram-density/metadata/altair.yaml
index b58f4921dd..72a061bafd 100644
--- a/plots/histogram-density/metadata/altair.yaml
+++ b/plots/histogram-density/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-density/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - kde
+ styling: []
review:
strengths:
- Excellent bimodal distribution demonstrates density histogram features very effectively
diff --git a/plots/histogram-density/metadata/bokeh.yaml b/plots/histogram-density/metadata/bokeh.yaml
index 2f7efa8d69..520e01aa9b 100644
--- a/plots/histogram-density/metadata/bokeh.yaml
+++ b/plots/histogram-density/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-density/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of density histogram with theoretical PDF overlay
diff --git a/plots/histogram-density/metadata/highcharts.yaml b/plots/histogram-density/metadata/highcharts.yaml
index 0c395d068e..052b321b6f 100644
--- a/plots/histogram-density/metadata/highcharts.yaml
+++ b/plots/histogram-density/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-density/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of density histogram with theoretical PDF overlay
diff --git a/plots/histogram-density/metadata/letsplot.yaml b/plots/histogram-density/metadata/letsplot.yaml
index 43ee12a266..04c5551eac 100644
--- a/plots/histogram-density/metadata/letsplot.yaml
+++ b/plots/histogram-density/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-density/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of density histogram with proper ..density.. stat transformation
diff --git a/plots/histogram-density/metadata/matplotlib.yaml b/plots/histogram-density/metadata/matplotlib.yaml
index 619d7f5842..ae69824b80 100644
--- a/plots/histogram-density/metadata/matplotlib.yaml
+++ b/plots/histogram-density/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent specification compliance with density histogram and theoretical PDF
diff --git a/plots/histogram-density/metadata/plotly.yaml b/plots/histogram-density/metadata/plotly.yaml
index fd08cac3aa..4d2334542b 100644
--- a/plots/histogram-density/metadata/plotly.yaml
+++ b/plots/histogram-density/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-density/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling: []
review:
strengths:
- Excellent implementation of density histogram with proper histnorm=probability
diff --git a/plots/histogram-density/metadata/plotnine.yaml b/plots/histogram-density/metadata/plotnine.yaml
index 85fd06fdc3..ef90e51ce6 100644
--- a/plots/histogram-density/metadata/plotnine.yaml
+++ b/plots/histogram-density/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent bimodal data choice that clearly demonstrates density histogram purpose
diff --git a/plots/histogram-density/metadata/pygal.yaml b/plots/histogram-density/metadata/pygal.yaml
index 1d8a52ad6b..d4d1a4df7c 100644
--- a/plots/histogram-density/metadata/pygal.yaml
+++ b/plots/histogram-density/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-density/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent bimodal distribution data that clearly demonstrates density histogram
diff --git a/plots/histogram-density/metadata/seaborn.yaml b/plots/histogram-density/metadata/seaborn.yaml
index 2a69e91060..b06520b7e2 100644
--- a/plots/histogram-density/metadata/seaborn.yaml
+++ b/plots/histogram-density/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-densi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-density/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of bimodal distribution to demonstrate density histogram capabilities
diff --git a/plots/histogram-kde/metadata/altair.yaml b/plots/histogram-kde/metadata/altair.yaml
index 160ab20c4b..6f7f6f7724 100644
--- a/plots/histogram-kde/metadata/altair.yaml
+++ b/plots/histogram-kde/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent bimodal data choice that clearly demonstrates the value of KDE smoothing
diff --git a/plots/histogram-kde/metadata/bokeh.yaml b/plots/histogram-kde/metadata/bokeh.yaml
index 03438fcab7..6725a17df9 100644
--- a/plots/histogram-kde/metadata/bokeh.yaml
+++ b/plots/histogram-kde/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of KDE from scratch using Gaussian kernel with Scott's
diff --git a/plots/histogram-kde/metadata/highcharts.yaml b/plots/histogram-kde/metadata/highcharts.yaml
index 7506bc5191..db0c3429d4 100644
--- a/plots/histogram-kde/metadata/highcharts.yaml
+++ b/plots/histogram-kde/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of semi-transparent histogram bars allowing KDE overlay visibility
diff --git a/plots/histogram-kde/metadata/letsplot.yaml b/plots/histogram-kde/metadata/letsplot.yaml
index 43d0b1e90f..b0c0def866 100644
--- a/plots/histogram-kde/metadata/letsplot.yaml
+++ b/plots/histogram-kde/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent color contrast between histogram (blue) and KDE (yellow) ensures clear
diff --git a/plots/histogram-kde/metadata/matplotlib.yaml b/plots/histogram-kde/metadata/matplotlib.yaml
index a8fa47aac0..9be7076127 100644
--- a/plots/histogram-kde/metadata/matplotlib.yaml
+++ b/plots/histogram-kde/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/matplotlib/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent financial data simulation with mixture of normal, volatile, and extreme
diff --git a/plots/histogram-kde/metadata/plotly.yaml b/plots/histogram-kde/metadata/plotly.yaml
index 453b334e30..03b15fbb1c 100644
--- a/plots/histogram-kde/metadata/plotly.yaml
+++ b/plots/histogram-kde/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/plotly/plot.html
quality_score: 98
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of scipy.stats.gaussian_kde for proper KDE calculation
diff --git a/plots/histogram-kde/metadata/plotnine.yaml b/plots/histogram-kde/metadata/plotnine.yaml
index 28f642ccdb..075fafe1eb 100644
--- a/plots/histogram-kde/metadata/plotnine.yaml
+++ b/plots/histogram-kde/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/plotnine/plot_thumb.png
preview_html: null
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of after_stat("density") for proper histogram-KDE scaling
diff --git a/plots/histogram-kde/metadata/pygal.yaml b/plots/histogram-kde/metadata/pygal.yaml
index 23156e11d7..5381a3e571 100644
--- a/plots/histogram-kde/metadata/pygal.yaml
+++ b/plots/histogram-kde/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of histogram-KDE visualization using pygal XY chart capabilities
diff --git a/plots/histogram-kde/metadata/seaborn.yaml b/plots/histogram-kde/metadata/seaborn.yaml
index ecc6c14f1f..5b93f420e2 100644
--- a/plots/histogram-kde/metadata/seaborn.yaml
+++ b/plots/histogram-kde/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-kde/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of seaborn histplot and kdeplot functions separately for fine-grained
diff --git a/plots/histogram-overlapping/metadata/altair.yaml b/plots/histogram-overlapping/metadata/altair.yaml
index 8d348dad10..b581507bda 100644
--- a/plots/histogram-overlapping/metadata/altair.yaml
+++ b/plots/histogram-overlapping/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/altair/plot.html
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Altair declarative grammar with proper encoding types (:Q, :N)
diff --git a/plots/histogram-overlapping/metadata/bokeh.yaml b/plots/histogram-overlapping/metadata/bokeh.yaml
index 7ec61c79c0..6c8278f47f 100644
--- a/plots/histogram-overlapping/metadata/bokeh.yaml
+++ b/plots/histogram-overlapping/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - binning
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of aligned bins across all three distributions for accurate comparison
diff --git a/plots/histogram-overlapping/metadata/highcharts.yaml b/plots/histogram-overlapping/metadata/highcharts.yaml
index 0e06afc122..ea567e0d68 100644
--- a/plots/histogram-overlapping/metadata/highcharts.yaml
+++ b/plots/histogram-overlapping/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - alpha-blending
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- 'Excellent implementation of overlapping effect using grouping: false in plot
@@ -24,13 +37,23 @@ review:
to the chart area
- Y-axis label Frequency (Count) is slightly redundant
- Image height is 2561px instead of target 2700px
- image_description: |-
- The plot displays three overlapping histograms showing employee performance score distributions across three departments. The chart uses semi-transparent column bars with:
+ image_description: 'The plot displays three overlapping histograms showing employee
+ performance score distributions across three departments. The chart uses semi-transparent
+ column bars with:
+
- **Yellow** (Sales, n=150) - widest distribution, lower center
+
- **Purple** (Marketing, n=150) - middle layer
+
- **Blue** (Engineering, n=150) - highest concentration around 71-78 range
- The title reads "histogram-overlapping · highcharts · pyplots.ai" with subtitle "Employee Performance Score Distribution by Department". X-axis shows "Performance Score" (ranging from 16 to 125), Y-axis shows "Frequency (Count)" (0-56). A boxed legend in the upper right identifies each department with sample sizes. Bars overlap correctly with transparency (~0.55 alpha), allowing visibility of all three distributions. The overlapping regions show blended colors where distributions intersect.
+
+ The title reads "histogram-overlapping · highcharts · pyplots.ai" with subtitle
+ "Employee Performance Score Distribution by Department". X-axis shows "Performance
+ Score" (ranging from 16 to 125), Y-axis shows "Frequency (Count)" (0-56). A boxed
+ legend in the upper right identifies each department with sample sizes. Bars overlap
+ correctly with transparency (~0.55 alpha), allowing visibility of all three distributions.
+ The overlapping regions show blended colors where distributions intersect.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/histogram-overlapping/metadata/letsplot.yaml b/plots/histogram-overlapping/metadata/letsplot.yaml
index ea3fb8990a..773b0002d0 100644
--- a/plots/histogram-overlapping/metadata/letsplot.yaml
+++ b/plots/histogram-overlapping/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent real-world scenario (A/B testing response times) that directly matches
diff --git a/plots/histogram-overlapping/metadata/matplotlib.yaml b/plots/histogram-overlapping/metadata/matplotlib.yaml
index 22166a8f1f..d62bbdc00a 100644
--- a/plots/histogram-overlapping/metadata/matplotlib.yaml
+++ b/plots/histogram-overlapping/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of transparency (alpha=0.5) making overlapping regions clearly visible
diff --git a/plots/histogram-overlapping/metadata/plotly.yaml b/plots/histogram-overlapping/metadata/plotly.yaml
index 2ec72ddce7..d19ccfa6bd 100644
--- a/plots/histogram-overlapping/metadata/plotly.yaml
+++ b/plots/histogram-overlapping/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/plotly/plot.html
quality_score: 96
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of overlay barmode for true overlapping histograms with proper transparency
diff --git a/plots/histogram-overlapping/metadata/plotnine.yaml b/plots/histogram-overlapping/metadata/plotnine.yaml
index 0cee491224..01303c5877 100644
--- a/plots/histogram-overlapping/metadata/plotnine.yaml
+++ b/plots/histogram-overlapping/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layering
diff --git a/plots/histogram-overlapping/metadata/pygal.yaml b/plots/histogram-overlapping/metadata/pygal.yaml
index 97b1678e06..9d94006cf8 100644
--- a/plots/histogram-overlapping/metadata/pygal.yaml
+++ b/plots/histogram-overlapping/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Excellent choice of real-world data scenario (human heights by gender) with realistic
diff --git a/plots/histogram-overlapping/metadata/seaborn.yaml b/plots/histogram-overlapping/metadata/seaborn.yaml
index 275a5ce3dd..dc9f7cfe1b 100644
--- a/plots/histogram-overlapping/metadata/seaborn.yaml
+++ b/plots/histogram-overlapping/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-overl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-overlapping/seaborn/plot_thumb.png
preview_html: null
quality_score: 96
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-chosen transparency (alpha=0.5) that reveals
diff --git a/plots/histogram-stacked/metadata/altair.yaml b/plots/histogram-stacked/metadata/altair.yaml
index 23b446c1f6..78079d97d9 100644
--- a/plots/histogram-stacked/metadata/altair.yaml
+++ b/plots/histogram-stacked/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent declarative encoding with proper use of Altair grammar (alt.X with bin,
diff --git a/plots/histogram-stacked/metadata/bokeh.yaml b/plots/histogram-stacked/metadata/bokeh.yaml
index 2b1a1b1a48..9d1df9763e 100644
--- a/plots/histogram-stacked/metadata/bokeh.yaml
+++ b/plots/histogram-stacked/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - edge-highlighting
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing scaled appropriately for 4800x2700 canvas
diff --git a/plots/histogram-stacked/metadata/highcharts.yaml b/plots/histogram-stacked/metadata/highcharts.yaml
index e23ebbdc8e..c02e94ad0a 100644
--- a/plots/histogram-stacked/metadata/highcharts.yaml
+++ b/plots/histogram-stacked/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-safe palette with clear visual distinction between all three
diff --git a/plots/histogram-stacked/metadata/letsplot.yaml b/plots/histogram-stacked/metadata/letsplot.yaml
index e0cb4ab116..79fcf6106a 100644
--- a/plots/histogram-stacked/metadata/letsplot.yaml
+++ b/plots/histogram-stacked/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent title format following the required pattern exactly
diff --git a/plots/histogram-stacked/metadata/matplotlib.yaml b/plots/histogram-stacked/metadata/matplotlib.yaml
index 7b7549ad12..37042c93c7 100644
--- a/plots/histogram-stacked/metadata/matplotlib.yaml
+++ b/plots/histogram-stacked/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - edge-highlighting
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent realistic data scenario with server response times across geographic
diff --git a/plots/histogram-stacked/metadata/plotly.yaml b/plots/histogram-stacked/metadata/plotly.yaml
index db4e46ca43..d9bb48d9ec 100644
--- a/plots/histogram-stacked/metadata/plotly.yaml
+++ b/plots/histogram-stacked/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text and balanced layout
diff --git a/plots/histogram-stacked/metadata/plotnine.yaml b/plots/histogram-stacked/metadata/plotnine.yaml
index 55bc066655..3c08b46986 100644
--- a/plots/histogram-stacked/metadata/plotnine.yaml
+++ b/plots/histogram-stacked/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/plotnine/plot_thumb.png
preview_html: null
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques:
+ - edge-highlighting
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper stacking via position=stack
diff --git a/plots/histogram-stacked/metadata/pygal.yaml b/plots/histogram-stacked/metadata/pygal.yaml
index 791a8816b7..eaa22b4204 100644
--- a/plots/histogram-stacked/metadata/pygal.yaml
+++ b/plots/histogram-stacked/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of stacked histogram concept using pygal StackedBar
diff --git a/plots/histogram-stacked/metadata/seaborn.yaml b/plots/histogram-stacked/metadata/seaborn.yaml
index d8ddfc1cef..ce5cef11ce 100644
--- a/plots/histogram-stacked/metadata/seaborn.yaml
+++ b/plots/histogram-stacked/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stack
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stacked/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - edge-highlighting
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of seaborn histplot with multiple=stack for native stacked histogram
diff --git a/plots/histogram-stepwise/metadata/altair.yaml b/plots/histogram-stepwise/metadata/altair.yaml
index 9c435963b9..ad8c9ba10b 100644
--- a/plots/histogram-stepwise/metadata/altair.yaml
+++ b/plots/histogram-stepwise/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stepw
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of step histogram concept using manual bin calculation
diff --git a/plots/histogram-stepwise/metadata/bokeh.yaml b/plots/histogram-stepwise/metadata/bokeh.yaml
index 3e01728588..c77aa19cd0 100644
--- a/plots/histogram-stepwise/metadata/bokeh.yaml
+++ b/plots/histogram-stepwise/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stepw
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - grid-styling
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of step histogram using manual coordinate calculation
diff --git a/plots/histogram-stepwise/metadata/letsplot.yaml b/plots/histogram-stepwise/metadata/letsplot.yaml
index 42aab0be4d..b25dfb3bb0 100644
--- a/plots/histogram-stepwise/metadata/letsplot.yaml
+++ b/plots/histogram-stepwise/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stepw
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of step histogram concept using manual bin calculation
diff --git a/plots/histogram-stepwise/metadata/matplotlib.yaml b/plots/histogram-stepwise/metadata/matplotlib.yaml
index 7e5a252697..37c6f56c4d 100644
--- a/plots/histogram-stepwise/metadata/matplotlib.yaml
+++ b/plots/histogram-stepwise/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stepw
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of histtype="step" to create clean outline-only histograms
diff --git a/plots/histogram-stepwise/metadata/plotnine.yaml b/plots/histogram-stepwise/metadata/plotnine.yaml
index 701df2a383..de85b98052 100644
--- a/plots/histogram-stepwise/metadata/plotnine.yaml
+++ b/plots/histogram-stepwise/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stepw
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of step histogram using geom_step with manually computed
diff --git a/plots/histogram-stepwise/metadata/pygal.yaml b/plots/histogram-stepwise/metadata/pygal.yaml
index 589f17116e..ccd220fd5b 100644
--- a/plots/histogram-stepwise/metadata/pygal.yaml
+++ b/plots/histogram-stepwise/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stepw
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of step histogram using XY chart with carefully constructed
diff --git a/plots/histogram-stepwise/metadata/seaborn.yaml b/plots/histogram-stepwise/metadata/seaborn.yaml
index 73b7c0f5a8..d325d2efd4 100644
--- a/plots/histogram-stepwise/metadata/seaborn.yaml
+++ b/plots/histogram-stepwise/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/histogram-stepw
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/histogram-stepwise/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of seaborn histplot with element=step and fill=False to create clean
diff --git a/plots/hive-basic/metadata/altair.yaml b/plots/hive-basic/metadata/altair.yaml
index 20e30dbfe1..21eeb28229 100644
--- a/plots/hive-basic/metadata/altair.yaml
+++ b/plots/hive-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hive-basic/altair/plot.html
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - bezier-curves
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean implementation of hive plot concept using Altairs layered chart approach
diff --git a/plots/hive-basic/metadata/bokeh.yaml b/plots/hive-basic/metadata/bokeh.yaml
index 180ba45839..d76d762aec 100644
--- a/plots/hive-basic/metadata/bokeh.yaml
+++ b/plots/hive-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hive-basic/bokeh/plot.html
quality_score: 85
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of hive plot concept with 3 radial axes at 120° separation
diff --git a/plots/hive-basic/metadata/highcharts.yaml b/plots/hive-basic/metadata/highcharts.yaml
index 0573c6040a..c06bf49e97 100644
--- a/plots/hive-basic/metadata/highcharts.yaml
+++ b/plots/hive-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hive-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - bezier-curves
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of hive plot using Highcharts SVGRenderer API for custom
diff --git a/plots/hive-basic/metadata/letsplot.yaml b/plots/hive-basic/metadata/letsplot.yaml
index 92bbccdd34..e4931c652b 100644
--- a/plots/hive-basic/metadata/letsplot.yaml
+++ b/plots/hive-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hive-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of hive plot concept using lets-plot grammar of graphics
diff --git a/plots/hive-basic/metadata/matplotlib.yaml b/plots/hive-basic/metadata/matplotlib.yaml
index 18551a057d..1123d05f4e 100644
--- a/plots/hive-basic/metadata/matplotlib.yaml
+++ b/plots/hive-basic/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of hive plot concept with proper radial axis arrangement
diff --git a/plots/hive-basic/metadata/plotly.yaml b/plots/hive-basic/metadata/plotly.yaml
index ce13916f8d..5c869eb066 100644
--- a/plots/hive-basic/metadata/plotly.yaml
+++ b/plots/hive-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hive-basic/plotly/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of hive plot concept using Plotly scatter traces and
diff --git a/plots/hive-basic/metadata/plotnine.yaml b/plots/hive-basic/metadata/plotnine.yaml
index 667732b7d7..df24b0ae67 100644
--- a/plots/hive-basic/metadata/plotnine.yaml
+++ b/plots/hive-basic/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 82
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Creative implementation of a hive plot using plotnine basic geoms (segments and
diff --git a/plots/hive-basic/metadata/pygal.yaml b/plots/hive-basic/metadata/pygal.yaml
index c9894d3ce8..d70ac1210f 100644
--- a/plots/hive-basic/metadata/pygal.yaml
+++ b/plots/hive-basic/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/hive-basic/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - bezier-curves
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent creative implementation of hive plot using pygal XY chart as a foundation
diff --git a/plots/hive-basic/metadata/seaborn.yaml b/plots/hive-basic/metadata/seaborn.yaml
index 38bb8e84d3..7397c1f90a 100644
--- a/plots/hive-basic/metadata/seaborn.yaml
+++ b/plots/hive-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/hive-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/hive-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of hive plot concept using seaborn scatterplot and lineplot
diff --git a/plots/horizon-basic/metadata/altair.yaml b/plots/horizon-basic/metadata/altair.yaml
index 81e13bd1f9..51b66312ed 100644
--- a/plots/horizon-basic/metadata/altair.yaml
+++ b/plots/horizon-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the horizon chart concept with proper band folding
diff --git a/plots/horizon-basic/metadata/bokeh.yaml b/plots/horizon-basic/metadata/bokeh.yaml
index d5795284e2..28d8e8e773 100644
--- a/plots/horizon-basic/metadata/bokeh.yaml
+++ b/plots/horizon-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of horizon chart technique with proper band folding and
diff --git a/plots/horizon-basic/metadata/highcharts.yaml b/plots/horizon-basic/metadata/highcharts.yaml
index d268813c76..642ae4c3a6 100644
--- a/plots/horizon-basic/metadata/highcharts.yaml
+++ b/plots/horizon-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of horizon chart concept with 3 bands per direction
diff --git a/plots/horizon-basic/metadata/letsplot.yaml b/plots/horizon-basic/metadata/letsplot.yaml
index 6a5f4147e5..836f534f51 100644
--- a/plots/horizon-basic/metadata/letsplot.yaml
+++ b/plots/horizon-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizon chart implementation with proper band-folding algorithm that
diff --git a/plots/horizon-basic/metadata/matplotlib.yaml b/plots/horizon-basic/metadata/matplotlib.yaml
index 181f13b374..de780b931f 100644
--- a/plots/horizon-basic/metadata/matplotlib.yaml
+++ b/plots/horizon-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the horizon chart concept with proper band folding
diff --git a/plots/horizon-basic/metadata/plotly.yaml b/plots/horizon-basic/metadata/plotly.yaml
index ad82845f49..586f41eafe 100644
--- a/plots/horizon-basic/metadata/plotly.yaml
+++ b/plots/horizon-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent horizon chart implementation with proper band folding technique showing
diff --git a/plots/horizon-basic/metadata/plotnine.yaml b/plots/horizon-basic/metadata/plotnine.yaml
index 64d06e4384..c73015b8f7 100644
--- a/plots/horizon-basic/metadata/plotnine.yaml
+++ b/plots/horizon-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of horizon chart concept using plotnine grammar of graphics
diff --git a/plots/horizon-basic/metadata/pygal.yaml b/plots/horizon-basic/metadata/pygal.yaml
index b8ec5304c2..537541ee27 100644
--- a/plots/horizon-basic/metadata/pygal.yaml
+++ b/plots/horizon-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Title format now correctly follows the specification (horizon-basic · pygal ·
diff --git a/plots/horizon-basic/metadata/seaborn.yaml b/plots/horizon-basic/metadata/seaborn.yaml
index 2abe959ef8..d37a6bc137 100644
--- a/plots/horizon-basic/metadata/seaborn.yaml
+++ b/plots/horizon-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/horizon-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of horizon chart concept with proper band folding algorithm
diff --git a/plots/icicle-basic/metadata/altair.yaml b/plots/icicle-basic/metadata/altair.yaml
index b3fde99458..4d0de9bfa2 100644
--- a/plots/icicle-basic/metadata/altair.yaml
+++ b/plots/icicle-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical visualization with clear parent-child relationships visible
diff --git a/plots/icicle-basic/metadata/bokeh.yaml b/plots/icicle-basic/metadata/bokeh.yaml
index 665326a0a7..896466fdbd 100644
--- a/plots/icicle-basic/metadata/bokeh.yaml
+++ b/plots/icicle-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical visualization with clear parent-child relationships through
diff --git a/plots/icicle-basic/metadata/highcharts.yaml b/plots/icicle-basic/metadata/highcharts.yaml
index f46e4b52e8..926b5b42e8 100644
--- a/plots/icicle-basic/metadata/highcharts.yaml
+++ b/plots/icicle-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/highcharts/plot.html
quality_score: 94
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical visualization with clear parent-child relationships through
diff --git a/plots/icicle-basic/metadata/letsplot.yaml b/plots/icicle-basic/metadata/letsplot.yaml
index dd392e996e..ce5138fe2b 100644
--- a/plots/icicle-basic/metadata/letsplot.yaml
+++ b/plots/icicle-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/letsplot/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean hierarchical visualization with clear parent-child relationships through
diff --git a/plots/icicle-basic/metadata/matplotlib.yaml b/plots/icicle-basic/metadata/matplotlib.yaml
index 831b4ca84a..353202f4eb 100644
--- a/plots/icicle-basic/metadata/matplotlib.yaml
+++ b/plots/icicle-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent hierarchical visualization with clear parent-child relationships through
diff --git a/plots/icicle-basic/metadata/plotnine.yaml b/plots/icicle-basic/metadata/plotnine.yaml
index 94f710aa7b..923843d479 100644
--- a/plots/icicle-basic/metadata/plotnine.yaml
+++ b/plots/icicle-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent hierarchical visualization with clear parent-child relationships visible
diff --git a/plots/icicle-basic/metadata/pygal.yaml b/plots/icicle-basic/metadata/pygal.yaml
index bdbdc189e4..1758f680f2 100644
--- a/plots/icicle-basic/metadata/pygal.yaml
+++ b/plots/icicle-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical visualization with clear parent-child relationships through
diff --git a/plots/icicle-basic/metadata/seaborn.yaml b/plots/icicle-basic/metadata/seaborn.yaml
index 7490e2bb1a..a5771523ce 100644
--- a/plots/icicle-basic/metadata/seaborn.yaml
+++ b/plots/icicle-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/icicle-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 82
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - custom-colormap
+ - minimal-chrome
review:
strengths:
- Excellent hierarchical visualization with clear parent-child spatial relationships
diff --git a/plots/learning-curve-basic/metadata/altair.yaml b/plots/learning-curve-basic/metadata/altair.yaml
index d46a2db2d9..73374ba9f5 100644
--- a/plots/learning-curve-basic/metadata/altair.yaml
+++ b/plots/learning-curve-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-chosen font sizes and line thickness
diff --git a/plots/learning-curve-basic/metadata/bokeh.yaml b/plots/learning-curve-basic/metadata/bokeh.yaml
index b8ec299059..9d348a9050 100644
--- a/plots/learning-curve-basic/metadata/bokeh.yaml
+++ b/plots/learning-curve-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/bokeh/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean implementation with proper use of Bokeh's Band model for confidence intervals
diff --git a/plots/learning-curve-basic/metadata/highcharts.yaml b/plots/learning-curve-basic/metadata/highcharts.yaml
index 3dc498d2aa..1c358bcc5f 100644
--- a/plots/learning-curve-basic/metadata/highcharts.yaml
+++ b/plots/learning-curve-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts arearange series for confidence bands with proper
@@ -26,11 +36,24 @@ review:
- Legend does not include entries for the confidence bands (±1 std) - only shows
the line series
- Y-axis could start at 0.65 instead of 0.60 to reduce empty space at the bottom
- image_description: |-
- The plot displays a learning curve visualization on a white background. The title "learning-curve-basic · highcharts · pyplots.ai" appears at the top in bold black text, with a subtitle "Model Performance vs Training Set Size" below it. The X-axis shows "Training Set Size (samples)" ranging from 0 to 1700, and the Y-axis shows "Accuracy Score" ranging from 0.60 to 1.02. Two lines are displayed:
- - A **blue line with square markers** representing Training Score, starting high (~0.99) and gradually decreasing to ~0.94
- - A **yellow/gold line with triangle markers** representing Validation Score, starting low (~0.72) and increasing toward ~0.93
- Both lines have semi-transparent shaded confidence bands showing ±1 standard deviation. The blue band is narrower (training is more consistent), while the yellow band is wider at low training sizes and narrows as training size increases. A legend in the top-right corner clearly identifies both series. Dashed grid lines provide reference.
+ image_description: 'The plot displays a learning curve visualization on a white
+ background. The title "learning-curve-basic · highcharts · pyplots.ai" appears
+ at the top in bold black text, with a subtitle "Model Performance vs Training
+ Set Size" below it. The X-axis shows "Training Set Size (samples)" ranging from
+ 0 to 1700, and the Y-axis shows "Accuracy Score" ranging from 0.60 to 1.02. Two
+ lines are displayed:
+
+ - A **blue line with square markers** representing Training Score, starting high
+ (~0.99) and gradually decreasing to ~0.94
+
+ - A **yellow/gold line with triangle markers** representing Validation Score,
+ starting low (~0.72) and increasing toward ~0.93
+
+ Both lines have semi-transparent shaded confidence bands showing ±1 standard deviation.
+ The blue band is narrower (training is more consistent), while the yellow band
+ is wider at low training sizes and narrows as training size increases. A legend
+ in the top-right corner clearly identifies both series. Dashed grid lines provide
+ reference.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/learning-curve-basic/metadata/letsplot.yaml b/plots/learning-curve-basic/metadata/letsplot.yaml
index 39ee41a035..a667220545 100644
--- a/plots/learning-curve-basic/metadata/letsplot.yaml
+++ b/plots/learning-curve-basic/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-chosen blue/yellow color scheme that provides
@@ -23,11 +31,22 @@ review:
- Y-axis label could include units/scale indicator (e.g., Accuracy Score 0-1)
- Could demonstrate more lets-plot specific features like tooltips or interactive
elements
- image_description: |-
- The plot shows a learning curve with two distinct lines on a light gray background. The title "learning-curve-basic · letsplot · pyplots.ai" appears at the top. The x-axis displays "Training Set Size (samples)" ranging from 0 to 1,600, and the y-axis shows "Accuracy Score" ranging from 0.55 to 1.0. Two curves are visible:
- - A **blue line** (Training Score) starting around 0.88 and quickly rising to plateau near 0.99
- - A **yellow/gold line** (Validation Score) starting around 0.67 and gradually rising to about 0.84
- Both curves have shaded confidence bands showing standard deviation. The legend is positioned at the bottom center, clearly labeling "Training Score" and "Validation Score". The plot demonstrates a classic overfitting pattern with a gap between training and validation scores.
+ image_description: 'The plot shows a learning curve with two distinct lines on a
+ light gray background. The title "learning-curve-basic · letsplot · pyplots.ai"
+ appears at the top. The x-axis displays "Training Set Size (samples)" ranging
+ from 0 to 1,600, and the y-axis shows "Accuracy Score" ranging from 0.55 to 1.0.
+ Two curves are visible:
+
+ - A **blue line** (Training Score) starting around 0.88 and quickly rising to
+ plateau near 0.99
+
+ - A **yellow/gold line** (Validation Score) starting around 0.67 and gradually
+ rising to about 0.84
+
+ Both curves have shaded confidence bands showing standard deviation. The legend
+ is positioned at the bottom center, clearly labeling "Training Score" and "Validation
+ Score". The plot demonstrates a classic overfitting pattern with a gap between
+ training and validation scores.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/learning-curve-basic/metadata/matplotlib.yaml b/plots/learning-curve-basic/metadata/matplotlib.yaml
index 2ab18623cf..1f031eb4ce 100644
--- a/plots/learning-curve-basic/metadata/matplotlib.yaml
+++ b/plots/learning-curve-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - fill-between
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-chosen colors (Python blue/gold) that are colorblind-friendly
diff --git a/plots/learning-curve-basic/metadata/plotly.yaml b/plots/learning-curve-basic/metadata/plotly.yaml
index bffb7feb00..2b28e81035 100644
--- a/plots/learning-curve-basic/metadata/plotly.yaml
+++ b/plots/learning-curve-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with properly sized text and well-balanced layout
diff --git a/plots/learning-curve-basic/metadata/plotnine.yaml b/plots/learning-curve-basic/metadata/plotnine.yaml
index d0ba0375d3..d1fc7f5f12 100644
--- a/plots/learning-curve-basic/metadata/plotnine.yaml
+++ b/plots/learning-curve-basic/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with geom_ribbon for confidence
diff --git a/plots/learning-curve-basic/metadata/pygal.yaml b/plots/learning-curve-basic/metadata/pygal.yaml
index 13854907ef..a01408dc18 100644
--- a/plots/learning-curve-basic/metadata/pygal.yaml
+++ b/plots/learning-curve-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clear visualization of learning curve with appropriate training vs validation
diff --git a/plots/learning-curve-basic/metadata/seaborn.yaml b/plots/learning-curve-basic/metadata/seaborn.yaml
index 080472a110..5390144960 100644
--- a/plots/learning-curve-basic/metadata/seaborn.yaml
+++ b/plots/learning-curve-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/learning-curve-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/learning-curve-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - fill-between
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-chosen colors (Python blue/yellow) that are
diff --git a/plots/lift-curve/metadata/altair.yaml b/plots/lift-curve/metadata/altair.yaml
index 0bff4ef571..afad33cc2c 100644
--- a/plots/lift-curve/metadata/altair.yaml
+++ b/plots/lift-curve/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lift-curve/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent lift curve visualization that clearly demonstrates model performance
diff --git a/plots/lift-curve/metadata/bokeh.yaml b/plots/lift-curve/metadata/bokeh.yaml
index c6a2fabe5c..45f52dce38 100644
--- a/plots/lift-curve/metadata/bokeh.yaml
+++ b/plots/lift-curve/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lift-curve/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing with 42pt title, 32pt axis labels, 24pt tick labels - perfectly
diff --git a/plots/lift-curve/metadata/highcharts.yaml b/plots/lift-curve/metadata/highcharts.yaml
index 4ff2afd0b0..785d435607 100644
--- a/plots/lift-curve/metadata/highcharts.yaml
+++ b/plots/lift-curve/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lift-curve/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts plotLines feature for the reference line with label
diff --git a/plots/lift-curve/metadata/letsplot.yaml b/plots/lift-curve/metadata/letsplot.yaml
index 2451e8c0eb..2731bf6d78 100644
--- a/plots/lift-curve/metadata/letsplot.yaml
+++ b/plots/lift-curve/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lift-curve/letsplot/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent lift curve implementation with proper mathematical calculation of cumulative
diff --git a/plots/lift-curve/metadata/matplotlib.yaml b/plots/lift-curve/metadata/matplotlib.yaml
index 1836fff285..5dfe02dcb8 100644
--- a/plots/lift-curve/metadata/matplotlib.yaml
+++ b/plots/lift-curve/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - fill-between
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of lift curve with proper calculation methodology (sort
diff --git a/plots/lift-curve/metadata/plotly.yaml b/plots/lift-curve/metadata/plotly.yaml
index a0e6a8e032..1a23159197 100644
--- a/plots/lift-curve/metadata/plotly.yaml
+++ b/plots/lift-curve/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lift-curve/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent title format and text sizing throughout
diff --git a/plots/lift-curve/metadata/plotnine.yaml b/plots/lift-curve/metadata/plotnine.yaml
index eef04bd509..66334fd04a 100644
--- a/plots/lift-curve/metadata/plotnine.yaml
+++ b/plots/lift-curve/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of lift curve with correct mathematical calculation
diff --git a/plots/lift-curve/metadata/pygal.yaml b/plots/lift-curve/metadata/pygal.yaml
index 74a728b77e..629a1637dd 100644
--- a/plots/lift-curve/metadata/pygal.yaml
+++ b/plots/lift-curve/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lift-curve/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- 'Clean, professional visualization with appropriate pyplots color scheme (#306998
diff --git a/plots/lift-curve/metadata/seaborn.yaml b/plots/lift-curve/metadata/seaborn.yaml
index 6b6b0a93bc..e16d70092c 100644
--- a/plots/lift-curve/metadata/seaborn.yaml
+++ b/plots/lift-curve/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lift-curve/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lift-curve/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with appropriate font sizes and line widths for high-resolution
diff --git a/plots/line-annotated-events/metadata/altair.yaml b/plots/line-annotated-events/metadata/altair.yaml
index 8ae64276c8..bb29c32845 100644
--- a/plots/line-annotated-events/metadata/altair.yaml
+++ b/plots/line-annotated-events/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of alternating y-positions for event labels to prevent overlap
diff --git a/plots/line-annotated-events/metadata/bokeh.yaml b/plots/line-annotated-events/metadata/bokeh.yaml
index 6360208f86..298a9ab289 100644
--- a/plots/line-annotated-events/metadata/bokeh.yaml
+++ b/plots/line-annotated-events/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent spec compliance with all required features (vertical lines, event labels,
diff --git a/plots/line-annotated-events/metadata/highcharts.yaml b/plots/line-annotated-events/metadata/highcharts.yaml
index 179adbcfc4..8ea0106ade 100644
--- a/plots/line-annotated-events/metadata/highcharts.yaml
+++ b/plots/line-annotated-events/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of event annotation pattern using plotLines with alternating
diff --git a/plots/line-annotated-events/metadata/letsplot.yaml b/plots/line-annotated-events/metadata/letsplot.yaml
index ff9581396b..c03d401cdc 100644
--- a/plots/line-annotated-events/metadata/letsplot.yaml
+++ b/plots/line-annotated-events/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of alternating y_offset heights for event labels prevents overlap
diff --git a/plots/line-annotated-events/metadata/matplotlib.yaml b/plots/line-annotated-events/metadata/matplotlib.yaml
index a561c30c86..e28b4ca7cc 100644
--- a/plots/line-annotated-events/metadata/matplotlib.yaml
+++ b/plots/line-annotated-events/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the spec with clear event annotations using axvline
diff --git a/plots/line-annotated-events/metadata/plotly.yaml b/plots/line-annotated-events/metadata/plotly.yaml
index a80fc64039..8d2b5102ba 100644
--- a/plots/line-annotated-events/metadata/plotly.yaml
+++ b/plots/line-annotated-events/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of alternating annotation heights to prevent label overlap
diff --git a/plots/line-annotated-events/metadata/plotnine.yaml b/plots/line-annotated-events/metadata/plotnine.yaml
index 03de1c1c3f..8632a58bee 100644
--- a/plots/line-annotated-events/metadata/plotnine.yaml
+++ b/plots/line-annotated-events/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of alternating y-positions for event labels to avoid
diff --git a/plots/line-annotated-events/metadata/pygal.yaml b/plots/line-annotated-events/metadata/pygal.yaml
index 6c298066b2..de485fb49f 100644
--- a/plots/line-annotated-events/metadata/pygal.yaml
+++ b/plots/line-annotated-events/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/pygal/plot.html
quality_score: 72
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal XY chart type for precise coordinate control
diff --git a/plots/line-annotated-events/metadata/seaborn.yaml b/plots/line-annotated-events/metadata/seaborn.yaml
index 023ea11efe..eb798d55df 100644
--- a/plots/line-annotated-events/metadata/seaborn.yaml
+++ b/plots/line-annotated-events/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-annotated-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-annotated-events/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of alternating label heights to prevent overlap with dense events
diff --git a/plots/line-basic/metadata/altair.yaml b/plots/line-basic/metadata/altair.yaml
index dbe4689e84..efc6f1e4a0 100644
--- a/plots/line-basic/metadata/altair.yaml
+++ b/plots/line-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text elements and line/point visibility
diff --git a/plots/line-basic/metadata/bokeh.yaml b/plots/line-basic/metadata/bokeh.yaml
index ba8775e02e..7104ff39c9 100644
--- a/plots/line-basic/metadata/bokeh.yaml
+++ b/plots/line-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing for 4800x2700 resolution with clear, readable fonts throughout
diff --git a/plots/line-basic/metadata/highcharts.yaml b/plots/line-basic/metadata/highcharts.yaml
index 7bf4905f65..c48fec1e0c 100644
--- a/plots/line-basic/metadata/highcharts.yaml
+++ b/plots/line-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text and markers for the canvas dimensions
diff --git a/plots/line-basic/metadata/letsplot.yaml b/plots/line-basic/metadata/letsplot.yaml
index d2fd6d472f..4917d5ce37 100644
--- a/plots/line-basic/metadata/letsplot.yaml
+++ b/plots/line-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent seasonal temperature pattern that clearly demonstrates line plot trends
diff --git a/plots/line-basic/metadata/matplotlib.yaml b/plots/line-basic/metadata/matplotlib.yaml
index de0751719e..9070b1dcfe 100644
--- a/plots/line-basic/metadata/matplotlib.yaml
+++ b/plots/line-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with proper font sizes matching matplotlib.md guidelines
diff --git a/plots/line-basic/metadata/plotly.yaml b/plots/line-basic/metadata/plotly.yaml
index ca62c74102..9dabbafbcd 100644
--- a/plots/line-basic/metadata/plotly.yaml
+++ b/plots/line-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with well-scaled fonts for the 4800x2700 output
diff --git a/plots/line-basic/metadata/plotnine.yaml b/plots/line-basic/metadata/plotnine.yaml
index e7274cff4c..e485a13154 100644
--- a/plots/line-basic/metadata/plotnine.yaml
+++ b/plots/line-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of plotnine grammar of graphics with clean layered syntax (ggplot
diff --git a/plots/line-basic/metadata/pygal.yaml b/plots/line-basic/metadata/pygal.yaml
index 5c46b3bc3b..7f60654372 100644
--- a/plots/line-basic/metadata/pygal.yaml
+++ b/plots/line-basic/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-basic/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, minimal design that matches spec requirements perfectly
diff --git a/plots/line-basic/metadata/seaborn.yaml b/plots/line-basic/metadata/seaborn.yaml
index 62b8cd91de..cbe9b3daf1 100644
--- a/plots/line-basic/metadata/seaborn.yaml
+++ b/plots/line-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing following the library guidelines (24/20/16pt hierarchy)
diff --git a/plots/line-confidence/metadata/altair.yaml b/plots/line-confidence/metadata/altair.yaml
index eb2cdd869f..0083a48ac9 100644
--- a/plots/line-confidence/metadata/altair.yaml
+++ b/plots/line-confidence/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-confidence/altair/plot.html
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean code structure following KISS principles with clear data generation logic
diff --git a/plots/line-confidence/metadata/bokeh.yaml b/plots/line-confidence/metadata/bokeh.yaml
index 1d1edc3803..d78115cae3 100644
--- a/plots/line-confidence/metadata/bokeh.yaml
+++ b/plots/line-confidence/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-confidence/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of varea glyph for the confidence band, which is idiomatic Bokeh
diff --git a/plots/line-confidence/metadata/highcharts.yaml b/plots/line-confidence/metadata/highcharts.yaml
index 61f5eafc7c..68322209a3 100644
--- a/plots/line-confidence/metadata/highcharts.yaml
+++ b/plots/line-confidence/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-confidence/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with appropriate font sizes for high-resolution output
diff --git a/plots/line-confidence/metadata/letsplot.yaml b/plots/line-confidence/metadata/letsplot.yaml
index 11b303c490..dc2554020a 100644
--- a/plots/line-confidence/metadata/letsplot.yaml
+++ b/plots/line-confidence/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-confidence/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of ggplot2 grammar with geom_ribbon for confidence band
diff --git a/plots/line-confidence/metadata/matplotlib.yaml b/plots/line-confidence/metadata/matplotlib.yaml
index 53bbfd2a79..50f3c2da2d 100644
--- a/plots/line-confidence/metadata/matplotlib.yaml
+++ b/plots/line-confidence/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Clean KISS structure with no functions or classes
diff --git a/plots/line-confidence/metadata/plotly.yaml b/plots/line-confidence/metadata/plotly.yaml
index cbe533cfe0..dafc60a88b 100644
--- a/plots/line-confidence/metadata/plotly.yaml
+++ b/plots/line-confidence/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-confidence/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized fonts and clear color contrast
diff --git a/plots/line-confidence/metadata/plotnine.yaml b/plots/line-confidence/metadata/plotnine.yaml
index 6bdfc55acd..f62ae5a34d 100644
--- a/plots/line-confidence/metadata/plotnine.yaml
+++ b/plots/line-confidence/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layering (ribbon under
diff --git a/plots/line-confidence/metadata/pygal.yaml b/plots/line-confidence/metadata/pygal.yaml
index 6ba75a5e54..9fc11d804d 100644
--- a/plots/line-confidence/metadata/pygal.yaml
+++ b/plots/line-confidence/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-confidence/pygal/plot.html
quality_score: 58
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean KISS code structure with proper random seed for reproducibility
diff --git a/plots/line-confidence/metadata/seaborn.yaml b/plots/line-confidence/metadata/seaborn.yaml
index 9a64fd369f..b68969178e 100644
--- a/plots/line-confidence/metadata/seaborn.yaml
+++ b/plots/line-confidence/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-confidence
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-confidence/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text elements (24/20/16pt)
diff --git a/plots/line-filled/metadata/altair.yaml b/plots/line-filled/metadata/altair.yaml
index 2921a4d4b6..064fbde1a2 100644
--- a/plots/line-filled/metadata/altair.yaml
+++ b/plots/line-filled/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-filled/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ - gradient-fill
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - gradient-fill
+ - grid-styling
review:
strengths:
- Excellent use of Altair gradient feature for the fill, creating a visually appealing
diff --git a/plots/line-filled/metadata/bokeh.yaml b/plots/line-filled/metadata/bokeh.yaml
index 715a2f6269..37423dd2cc 100644
--- a/plots/line-filled/metadata/bokeh.yaml
+++ b/plots/line-filled/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-filled/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of Bokeh's varea glyph for the filled area effect
diff --git a/plots/line-filled/metadata/highcharts.yaml b/plots/line-filled/metadata/highcharts.yaml
index 55b7e843e3..257d68091f 100644
--- a/plots/line-filled/metadata/highcharts.yaml
+++ b/plots/line-filled/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-filled/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - gradient-fill
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - gradient-fill
+ - edge-highlighting
review:
strengths:
- Excellent gradient fill implementation that fades from top to bottom, creating
diff --git a/plots/line-filled/metadata/letsplot.yaml b/plots/line-filled/metadata/letsplot.yaml
index 3e702a10fc..a03f85d9a4 100644
--- a/plots/line-filled/metadata/letsplot.yaml
+++ b/plots/line-filled/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-filled/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of geom_area + geom_line + geom_point combination for a complete
diff --git a/plots/line-filled/metadata/matplotlib.yaml b/plots/line-filled/metadata/matplotlib.yaml
index 34ea2b857a..100c09793a 100644
--- a/plots/line-filled/metadata/matplotlib.yaml
+++ b/plots/line-filled/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - explicit-figure
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of fill_between() with proper alpha for semi-transparent fill effect
diff --git a/plots/line-filled/metadata/plotly.yaml b/plots/line-filled/metadata/plotly.yaml
index 09d8a39465..5b0a326db7 100644
--- a/plots/line-filled/metadata/plotly.yaml
+++ b/plots/line-filled/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-filled/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with properly sized text elements (32pt title, 24pt axis
diff --git a/plots/line-filled/metadata/plotnine.yaml b/plots/line-filled/metadata/plotnine.yaml
index 8ccbd52ebb..b331687923 100644
--- a/plots/line-filled/metadata/plotnine.yaml
+++ b/plots/line-filled/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - explicit-figure
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent layering of geom_area and geom_line to create the filled effect with
diff --git a/plots/line-filled/metadata/pygal.yaml b/plots/line-filled/metadata/pygal.yaml
index 9dccddf897..126a7c86a5 100644
--- a/plots/line-filled/metadata/pygal.yaml
+++ b/plots/line-filled/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-filled/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean implementation with proper fill effect emphasizing magnitude
diff --git a/plots/line-filled/metadata/seaborn.yaml b/plots/line-filled/metadata/seaborn.yaml
index 340ee5ac29..fbd4ccf3a1 100644
--- a/plots/line-filled/metadata/seaborn.yaml
+++ b/plots/line-filled/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-filled/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-filled/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - explicit-figure
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text elements and good color choice
diff --git a/plots/line-interactive/metadata/altair.yaml b/plots/line-interactive/metadata/altair.yaml
index f200ed9eb9..a7d665989b 100644
--- a/plots/line-interactive/metadata/altair.yaml
+++ b/plots/line-interactive/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-interactiv
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-interactive/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-interactive/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - layer-composition
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent seasonal temperature data that clearly demonstrates the time series
diff --git a/plots/line-interactive/metadata/bokeh.yaml b/plots/line-interactive/metadata/bokeh.yaml
index 036a9dca0a..2c0a6ec7fb 100644
--- a/plots/line-interactive/metadata/bokeh.yaml
+++ b/plots/line-interactive/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-interactiv
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-interactive/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-interactive/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - custom-legend
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Bokeh interactive tools (WheelZoom, BoxZoom, PanTool, ResetTool)
diff --git a/plots/line-interactive/metadata/highcharts.yaml b/plots/line-interactive/metadata/highcharts.yaml
index eaaf85211d..dc243cd89b 100644
--- a/plots/line-interactive/metadata/highcharts.yaml
+++ b/plots/line-interactive/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-interactiv
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-interactive/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-interactive/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent title formatting matching the required spec format
diff --git a/plots/line-interactive/metadata/letsplot.yaml b/plots/line-interactive/metadata/letsplot.yaml
index 686fe4033d..f1a9d6e2ca 100644
--- a/plots/line-interactive/metadata/letsplot.yaml
+++ b/plots/line-interactive/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-interactiv
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-interactive/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-interactive/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data generation with realistic server response patterns including daily/weekly
diff --git a/plots/line-interactive/metadata/plotly.yaml b/plots/line-interactive/metadata/plotly.yaml
index cafcd14ee0..b3fdaa15d5 100644
--- a/plots/line-interactive/metadata/plotly.yaml
+++ b/plots/line-interactive/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-interactiv
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-interactive/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-interactive/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Plotly interactive features (rangeslider, rangeselector, hover
diff --git a/plots/line-interactive/metadata/pygal.yaml b/plots/line-interactive/metadata/pygal.yaml
index 7c21015b9f..bdf5ea5a36 100644
--- a/plots/line-interactive/metadata/pygal.yaml
+++ b/plots/line-interactive/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-interactiv
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-interactive/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-interactive/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean seasonal temperature pattern with realistic daily variation demonstrates
diff --git a/plots/line-loss-training/metadata/altair.yaml b/plots/line-loss-training/metadata/altair.yaml
index b1c7a9165e..44d3014e66 100644
--- a/plots/line-loss-training/metadata/altair.yaml
+++ b/plots/line-loss-training/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of overfitting visualization with validation loss diverging
diff --git a/plots/line-loss-training/metadata/highcharts.yaml b/plots/line-loss-training/metadata/highcharts.yaml
index 1e1774c1d0..ba79a348ee 100644
--- a/plots/line-loss-training/metadata/highcharts.yaml
+++ b/plots/line-loss-training/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent overfitting visualization with clear divergence between training and
diff --git a/plots/line-loss-training/metadata/letsplot.yaml b/plots/line-loss-training/metadata/letsplot.yaml
index f65d454e53..5066ee2b0f 100644
--- a/plots/line-loss-training/metadata/letsplot.yaml
+++ b/plots/line-loss-training/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of overfitting concept with training/validation loss divergence
diff --git a/plots/line-loss-training/metadata/matplotlib.yaml b/plots/line-loss-training/metadata/matplotlib.yaml
index a8cef1e01c..539632426b 100644
--- a/plots/line-loss-training/metadata/matplotlib.yaml
+++ b/plots/line-loss-training/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of overfitting pattern with clear divergence between training
@@ -26,11 +34,23 @@ review:
consider upper center or outside plot
- Could use matplotlib-specific features like fill_between for confidence intervals
or secondary annotations
- image_description: |-
- The plot displays two line curves on a 16:9 canvas with a white background. The title "line-loss-training · matplotlib · pyplots.ai" appears at the top in italicized black text. The X-axis is labeled "Epoch" (ranging from 0 to 50), and the Y-axis is labeled "Cross-Entropy Loss" (ranging from 0.0 to 2.5+). Two distinct lines with markers are shown:
- - **Training Loss** (blue line with circular markers): Starts at ~2.5 and decays exponentially to ~0.2 by epoch 50
- - **Validation Loss** (yellow/golden line with square markers): Starts similarly high but shows overfitting behavior after epoch ~28, where it begins increasing while training loss continues to decrease
- A large red circular marker with black border highlights "Best: Epoch 29" - the optimal early stopping point - with an arrow annotation pointing to it. The legend is positioned in the upper right corner. The grid is subtle with dashed gray lines at alpha 0.3.
+ image_description: 'The plot displays two line curves on a 16:9 canvas with a white
+ background. The title "line-loss-training · matplotlib · pyplots.ai" appears at
+ the top in italicized black text. The X-axis is labeled "Epoch" (ranging from
+ 0 to 50), and the Y-axis is labeled "Cross-Entropy Loss" (ranging from 0.0 to
+ 2.5+). Two distinct lines with markers are shown:
+
+ - **Training Loss** (blue line with circular markers): Starts at ~2.5 and decays
+ exponentially to ~0.2 by epoch 50
+
+ - **Validation Loss** (yellow/golden line with square markers): Starts similarly
+ high but shows overfitting behavior after epoch ~28, where it begins increasing
+ while training loss continues to decrease
+
+ A large red circular marker with black border highlights "Best: Epoch 29" - the
+ optimal early stopping point - with an arrow annotation pointing to it. The legend
+ is positioned in the upper right corner. The grid is subtle with dashed gray lines
+ at alpha 0.3.'
criteria_checklist:
visual_quality:
score: 38
diff --git a/plots/line-loss-training/metadata/plotly.yaml b/plots/line-loss-training/metadata/plotly.yaml
index 1936aadd65..4c53c001ba 100644
--- a/plots/line-loss-training/metadata/plotly.yaml
+++ b/plots/line-loss-training/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of overfitting visualization with validation loss diverging
diff --git a/plots/line-loss-training/metadata/plotnine.yaml b/plots/line-loss-training/metadata/plotnine.yaml
index 33709e7554..1eae76d9c8 100644
--- a/plots/line-loss-training/metadata/plotnine.yaml
+++ b/plots/line-loss-training/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visualization of training dynamics with clear overfitting pattern visible
diff --git a/plots/line-loss-training/metadata/pygal.yaml b/plots/line-loss-training/metadata/pygal.yaml
index b747afa4cb..0812460c36 100644
--- a/plots/line-loss-training/metadata/pygal.yaml
+++ b/plots/line-loss-training/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of overfitting pattern with training loss continuing to
diff --git a/plots/line-loss-training/metadata/seaborn.yaml b/plots/line-loss-training/metadata/seaborn.yaml
index a4acf23da2..3852aeae0c 100644
--- a/plots/line-loss-training/metadata/seaborn.yaml
+++ b/plots/line-loss-training/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-loss-train
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-loss-training/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data simulation with realistic exponential decay and subtle overfitting
diff --git a/plots/line-markers/metadata/bokeh.yaml b/plots/line-markers/metadata/bokeh.yaml
index b2ac015c5b..ebf39ff0a2 100644
--- a/plots/line-markers/metadata/bokeh.yaml
+++ b/plots/line-markers/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-markers/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of different marker shapes (circle, square, triangle) for series
diff --git a/plots/line-markers/metadata/highcharts.yaml b/plots/line-markers/metadata/highcharts.yaml
index 025f65bffb..aff82a8f7d 100644
--- a/plots/line-markers/metadata/highcharts.yaml
+++ b/plots/line-markers/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-markers/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized markers and line thickness for the high-resolution
diff --git a/plots/line-markers/metadata/letsplot.yaml b/plots/line-markers/metadata/letsplot.yaml
index 4fb5dd09f9..b4f1184205 100644
--- a/plots/line-markers/metadata/letsplot.yaml
+++ b/plots/line-markers/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-markers/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing for readability at target resolution (28pt title, 22pt axes,
diff --git a/plots/line-markers/metadata/matplotlib.yaml b/plots/line-markers/metadata/matplotlib.yaml
index ce45e9e2b4..1d010bfce2 100644
--- a/plots/line-markers/metadata/matplotlib.yaml
+++ b/plots/line-markers/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent marker visibility with white edge borders creating strong contrast against
@@ -26,13 +35,25 @@ review:
cases
- Does not leverage more distinctive matplotlib features like annotations or custom
styling
- image_description: |-
- The plot displays a line chart showing temperature readings (°C) over 14 days from three weather stations. Three distinct lines with markers are shown:
- - **Coastal Station** (blue circles): Highest temperatures, ranging from ~18°C to ~22°C, showing an upward trend mid-period then declining
- - **Inland Station** (yellow squares): Mid-range temperatures, starting at ~13°C and declining to ~7°C over the period
- - **Mountain Station** (red triangles): Lowest temperatures, ranging from ~6°C to ~10°C with a general downward trend
+ image_description: 'The plot displays a line chart showing temperature readings
+ (°C) over 14 days from three weather stations. Three distinct lines with markers
+ are shown:
- The title follows the required format "line-markers · matplotlib · pyplots.ai". Axis labels are "Day" (x-axis) and "Temperature (°C)" (y-axis). A legend is positioned in the upper left. Grid lines are visible with subtle alpha. Markers are clearly visible with white edge borders for contrast. The layout is well-balanced with good use of the 16:9 canvas.
+ - **Coastal Station** (blue circles): Highest temperatures, ranging from ~18°C
+ to ~22°C, showing an upward trend mid-period then declining
+
+ - **Inland Station** (yellow squares): Mid-range temperatures, starting at ~13°C
+ and declining to ~7°C over the period
+
+ - **Mountain Station** (red triangles): Lowest temperatures, ranging from ~6°C
+ to ~10°C with a general downward trend
+
+
+ The title follows the required format "line-markers · matplotlib · pyplots.ai".
+ Axis labels are "Day" (x-axis) and "Temperature (°C)" (y-axis). A legend is positioned
+ in the upper left. Grid lines are visible with subtle alpha. Markers are clearly
+ visible with white edge borders for contrast. The layout is well-balanced with
+ good use of the 16:9 canvas.'
criteria_checklist:
visual_quality:
score: 38
diff --git a/plots/line-markers/metadata/plotly.yaml b/plots/line-markers/metadata/plotly.yaml
index fd29891f53..19cd7d69a0 100644
--- a/plots/line-markers/metadata/plotly.yaml
+++ b/plots/line-markers/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-markers/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent marker visibility with distinct shapes (circle, square, diamond) for
diff --git a/plots/line-markers/metadata/plotnine.yaml b/plots/line-markers/metadata/plotnine.yaml
index e4df9f0e38..37b12b5c00 100644
--- a/plots/line-markers/metadata/plotnine.yaml
+++ b/plots/line-markers/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper aesthetic mappings for
diff --git a/plots/line-markers/metadata/pygal.yaml b/plots/line-markers/metadata/pygal.yaml
index 6bc6457bde..85f6941f9d 100644
--- a/plots/line-markers/metadata/pygal.yaml
+++ b/plots/line-markers/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-markers/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text legibility with well-scaled font sizes for the large canvas
diff --git a/plots/line-markers/metadata/seaborn.yaml b/plots/line-markers/metadata/seaborn.yaml
index 3e8f49e662..3974470b45 100644
--- a/plots/line-markers/metadata/seaborn.yaml
+++ b/plots/line-markers/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-markers/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-markers/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of seaborn's lineplot with style parameter for automatic marker
diff --git a/plots/line-multi/metadata/altair.yaml b/plots/line-multi/metadata/altair.yaml
index 8f766e6204..d8bee0bef1 100644
--- a/plots/line-multi/metadata/altair.yaml
+++ b/plots/line-multi/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-multi/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative grammar with long-format data transformation
diff --git a/plots/line-multi/metadata/bokeh.yaml b/plots/line-multi/metadata/bokeh.yaml
index 85388e04ad..69e87779cc 100644
--- a/plots/line-multi/metadata/bokeh.yaml
+++ b/plots/line-multi/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-multi/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing and readability at 4800x2700 resolution
diff --git a/plots/line-multi/metadata/highcharts.yaml b/plots/line-multi/metadata/highcharts.yaml
index e8e538bcee..a855239f27 100644
--- a/plots/line-multi/metadata/highcharts.yaml
+++ b/plots/line-multi/metadata/highcharts.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-multi/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing throughout with 72px title, 48px axis titles, and 36px labels
diff --git a/plots/line-multi/metadata/letsplot.yaml b/plots/line-multi/metadata/letsplot.yaml
index e07823a88e..824945a995 100644
--- a/plots/line-multi/metadata/letsplot.yaml
+++ b/plots/line-multi/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-multi/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing with explicit font sizes for all elements (28pt title, 22pt
diff --git a/plots/line-multi/metadata/matplotlib.yaml b/plots/line-multi/metadata/matplotlib.yaml
index 08efcbf698..dc6786b8e1 100644
--- a/plots/line-multi/metadata/matplotlib.yaml
+++ b/plots/line-multi/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- 'Excellent data diversity showing three distinct patterns: steady growth, mid-year
diff --git a/plots/line-multi/metadata/plotly.yaml b/plots/line-multi/metadata/plotly.yaml
index 96761ebb1a..f691f6134c 100644
--- a/plots/line-multi/metadata/plotly.yaml
+++ b/plots/line-multi/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-multi/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with thick lines (width=4), large markers (size=12),
diff --git a/plots/line-multi/metadata/plotnine.yaml b/plots/line-multi/metadata/plotnine.yaml
index bc08859188..872a94e17c 100644
--- a/plots/line-multi/metadata/plotnine.yaml
+++ b/plots/line-multi/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/plotnine/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing with appropriate font sizes for title (24pt), axis labels
diff --git a/plots/line-multi/metadata/pygal.yaml b/plots/line-multi/metadata/pygal.yaml
index ef5cdf7e6d..15bf9a028b 100644
--- a/plots/line-multi/metadata/pygal.yaml
+++ b/plots/line-multi/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-multi/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data storytelling with four distinct trend patterns (steady growth,
diff --git a/plots/line-multi/metadata/seaborn.yaml b/plots/line-multi/metadata/seaborn.yaml
index a84f84599f..c7de8a881c 100644
--- a/plots/line-multi/metadata/seaborn.yaml
+++ b/plots/line-multi/metadata/seaborn.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-multi/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-multi/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of seaborn lineplot with hue and style parameters for multi-series
diff --git a/plots/line-realtime/metadata/altair.yaml b/plots/line-realtime/metadata/altair.yaml
index 370148483f..cc1fb14cdd 100644
--- a/plots/line-realtime/metadata/altair.yaml
+++ b/plots/line-realtime/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-realtime/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-realtime/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-realtime/altair/plot.html
quality_score: null
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- 'Excellent visual indicators for real-time effect: LIVE badge, scroll direction
diff --git a/plots/line-realtime/metadata/bokeh.yaml b/plots/line-realtime/metadata/bokeh.yaml
index e5e7770d83..8122c9d3fd 100644
--- a/plots/line-realtime/metadata/bokeh.yaml
+++ b/plots/line-realtime/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-realtime/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-realtime/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-realtime/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - gradient-fill
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of the fade/gradient effect showing data recency through
diff --git a/plots/line-realtime/metadata/highcharts.yaml b/plots/line-realtime/metadata/highcharts.yaml
index da01fb7942..49f6d72f00 100644
--- a/plots/line-realtime/metadata/highcharts.yaml
+++ b/plots/line-realtime/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-realtime/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-realtime/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-realtime/highcharts/plot.html
quality_score: null
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual representation of real-time data concept
@@ -22,16 +32,30 @@ review:
- '**CRITICAL: Implementation file not committed to PR branch**'
- Cannot verify code quality without source file
- Cannot verify reproducibility (seed usage)
- image_description: |-
- The plot shows a real-time line chart visualization titled "line-realtime · highcharts · pyplots.ai". It displays simulated CPU usage data over time with the following visual elements:
+ image_description: 'The plot shows a real-time line chart visualization titled "line-realtime
+ · highcharts · pyplots.ai". It displays simulated CPU usage data over time with
+ the following visual elements:
+
- **Title**: Properly formatted as `{spec-id} · {library} · pyplots.ai`
+
- **Subtitle**: Shows "🔴 LIVE · CPU Usage: 48.8% · Last updated: 14:30:45"
+
- **Chart type**: Area spline chart with gradient fill (blue color #306998)
+
- **X-axis**: Time in HH:MM:SS format with datetime axis
+
- **Y-axis**: CPU Usage (%) from 0-100%
+
- **Data**: ~100 data points showing CPU usage fluctuating between 27-72%
- - **Annotations**: Two callouts - "← Older data scrolls off" on the left and "New data arrives →" on the right
- - **Current value indicator**: Red dot at the rightmost point showing current value (48.8%)
- - **Plot bands**: Subtle color zones (green for 0-50%, yellow for 50-75%, red for 75-100%)
- - **Legend**: Shows "CPU Usage" and "Current: 48.8%" on the right side
+
+ - **Annotations**: Two callouts - "← Older data scrolls off" on the left and "New
+ data arrives →" on the right
+
+ - **Current value indicator**: Red dot at the rightmost point showing current
+ value (48.8%)
+
+ - **Plot bands**: Subtle color zones (green for 0-50%, yellow for 50-75%, red
+ for 75-100%)
+
+ - **Legend**: Shows "CPU Usage" and "Current: 48.8%" on the right side'
verdict: REJECTED
diff --git a/plots/line-realtime/metadata/letsplot.yaml b/plots/line-realtime/metadata/letsplot.yaml
index 20eaae68ce..74c77adb68 100644
--- a/plots/line-realtime/metadata/letsplot.yaml
+++ b/plots/line-realtime/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-realtime/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-realtime/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-realtime/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent visual representation of real-time monitoring concept with clear current
diff --git a/plots/line-realtime/metadata/plotly.yaml b/plots/line-realtime/metadata/plotly.yaml
index bfea042be7..16fa819e3b 100644
--- a/plots/line-realtime/metadata/plotly.yaml
+++ b/plots/line-realtime/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-realtime/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-realtime/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-realtime/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - gradient-fill
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of real-time visualization indicators (LIVE badge, current
diff --git a/plots/line-realtime/metadata/pygal.yaml b/plots/line-realtime/metadata/pygal.yaml
index 568cd9f4df..f759d0b26d 100644
--- a/plots/line-realtime/metadata/pygal.yaml
+++ b/plots/line-realtime/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-realtime/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-realtime/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-realtime/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - gradient-fill
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean implementation with good CPU monitoring scenario and realistic data patterns
diff --git a/plots/line-stepwise/metadata/altair.yaml b/plots/line-stepwise/metadata/altair.yaml
index e1c7e733a0..675b2ef526 100644
--- a/plots/line-stepwise/metadata/altair.yaml
+++ b/plots/line-stepwise/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative grammar with proper encoding types (:Q for
diff --git a/plots/line-stepwise/metadata/bokeh.yaml b/plots/line-stepwise/metadata/bokeh.yaml
index 0f9632c36e..aed2ffce01 100644
--- a/plots/line-stepwise/metadata/bokeh.yaml
+++ b/plots/line-stepwise/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent step line implementation with manual coordinate transformation for post
diff --git a/plots/line-stepwise/metadata/highcharts.yaml b/plots/line-stepwise/metadata/highcharts.yaml
index 7dce69caa8..e7b13e147d 100644
--- a/plots/line-stepwise/metadata/highcharts.yaml
+++ b/plots/line-stepwise/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent implementation of step line using Highcharts native step: left option'
diff --git a/plots/line-stepwise/metadata/letsplot.yaml b/plots/line-stepwise/metadata/letsplot.yaml
index 3ff26c2b2e..a28bf3fbef 100644
--- a/plots/line-stepwise/metadata/letsplot.yaml
+++ b/plots/line-stepwise/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent step line visualization with clear horizontal-then-vertical transitions
diff --git a/plots/line-stepwise/metadata/matplotlib.yaml b/plots/line-stepwise/metadata/matplotlib.yaml
index ba1e4a3ffe..907e3aa9ed 100644
--- a/plots/line-stepwise/metadata/matplotlib.yaml
+++ b/plots/line-stepwise/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual representation of step function behavior with clear horizontal
diff --git a/plots/line-stepwise/metadata/plotly.yaml b/plots/line-stepwise/metadata/plotly.yaml
index 9dc007ec72..70289da2f8 100644
--- a/plots/line-stepwise/metadata/plotly.yaml
+++ b/plots/line-stepwise/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/plotly/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Perfect implementation of step function using Plotly shape=hv parameter
diff --git a/plots/line-stepwise/metadata/plotnine.yaml b/plots/line-stepwise/metadata/plotnine.yaml
index eb336b9909..34a323994a 100644
--- a/plots/line-stepwise/metadata/plotnine.yaml
+++ b/plots/line-stepwise/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of geom_step with direction="hv" for proper step function visualization
diff --git a/plots/line-stepwise/metadata/pygal.yaml b/plots/line-stepwise/metadata/pygal.yaml
index 7ff8fc900b..5f0a7d1114 100644
--- a/plots/line-stepwise/metadata/pygal.yaml
+++ b/plots/line-stepwise/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent step visualization achieved through clever data point duplication for
diff --git a/plots/line-stepwise/metadata/seaborn.yaml b/plots/line-stepwise/metadata/seaborn.yaml
index c03a8b4031..e54c995bc5 100644
--- a/plots/line-stepwise/metadata/seaborn.yaml
+++ b/plots/line-stepwise/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-stepwise/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visualization of step function with clear horizontal and vertical transitions
diff --git a/plots/line-styled/metadata/altair.yaml b/plots/line-styled/metadata/altair.yaml
index 64601d9a79..af64fbcb3d 100644
--- a/plots/line-styled/metadata/altair.yaml
+++ b/plots/line-styled/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-styled/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of all four standard line styles (solid, dashed, dotted, dash-dot)
diff --git a/plots/line-styled/metadata/bokeh.yaml b/plots/line-styled/metadata/bokeh.yaml
index 0a9af4eddb..26e83a214b 100644
--- a/plots/line-styled/metadata/bokeh.yaml
+++ b/plots/line-styled/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-styled/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - custom-legend
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing for the 4800×2700 canvas with 48pt title and 36pt axis labels
diff --git a/plots/line-styled/metadata/highcharts.yaml b/plots/line-styled/metadata/highcharts.yaml
index f61cb32547..ed2c95c538 100644
--- a/plots/line-styled/metadata/highcharts.yaml
+++ b/plots/line-styled/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-styled/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all 4 required line styles (Solid, Dash, Dot, DashDot)
diff --git a/plots/line-styled/metadata/letsplot.yaml b/plots/line-styled/metadata/letsplot.yaml
index 205be85904..4b7f4b46ff 100644
--- a/plots/line-styled/metadata/letsplot.yaml
+++ b/plots/line-styled/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-styled/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of all four standard line styles (solid, dashed, dotted, longdash)
diff --git a/plots/line-styled/metadata/matplotlib.yaml b/plots/line-styled/metadata/matplotlib.yaml
index b0b272e848..264a0f6c48 100644
--- a/plots/line-styled/metadata/matplotlib.yaml
+++ b/plots/line-styled/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- All four standard line styles (solid, dashed, dotted, dash-dot) are clearly visible
diff --git a/plots/line-styled/metadata/plotly.yaml b/plots/line-styled/metadata/plotly.yaml
index 28941c1f5c..bfd61a1ca4 100644
--- a/plots/line-styled/metadata/plotly.yaml
+++ b/plots/line-styled/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-styled/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with all four line styles (solid, dashed, dotted, dash-dot)
@@ -28,14 +37,27 @@ review:
- Could utilize Plotly-specific features like custom hover templates to enhance
interactivity
- Grid alpha at 0.1 is at the very low end of visibility
- image_description: |-
- The plot displays a line chart with temperature readings from four different sensors over a 24-hour period (0-23 hours). The chart uses a white background with a subtle grid. Four distinct line styles are clearly visible:
- - **Outdoor Sensor**: Solid blue line (#306998) showing the largest temperature swing (~7°C to ~23°C)
- - **Indoor Sensor**: Dashed yellow/gold line (#FFD43B) with moderate variation (~17°C to ~23°C)
- - **Greenhouse Sensor**: Dotted green line (#4CAF50) with medium variation (~12°C to ~22°C)
- - **Storage Sensor**: Dash-dot purple line (#9C27B0) with the smallest variation (~20°C to ~24°C)
+ image_description: 'The plot displays a line chart with temperature readings from
+ four different sensors over a 24-hour period (0-23 hours). The chart uses a white
+ background with a subtle grid. Four distinct line styles are clearly visible:
- The title "line-styled · plotly · pyplots.ai" is centered at the top. The x-axis shows "Hour of Day" (0-23 in increments of 4), and the y-axis shows "Temperature (°C)" (6-24). A well-positioned legend in the upper-left corner clearly maps each line style to its sensor name.
+ - **Outdoor Sensor**: Solid blue line (#306998) showing the largest temperature
+ swing (~7°C to ~23°C)
+
+ - **Indoor Sensor**: Dashed yellow/gold line (#FFD43B) with moderate variation
+ (~17°C to ~23°C)
+
+ - **Greenhouse Sensor**: Dotted green line (#4CAF50) with medium variation (~12°C
+ to ~22°C)
+
+ - **Storage Sensor**: Dash-dot purple line (#9C27B0) with the smallest variation
+ (~20°C to ~24°C)
+
+
+ The title "line-styled · plotly · pyplots.ai" is centered at the top. The x-axis
+ shows "Hour of Day" (0-23 in increments of 4), and the y-axis shows "Temperature
+ (°C)" (6-24). A well-positioned legend in the upper-left corner clearly maps each
+ line style to its sensor name.'
criteria_checklist:
visual_quality:
score: 38
diff --git a/plots/line-styled/metadata/plotnine.yaml b/plots/line-styled/metadata/plotnine.yaml
index 93921b5db9..ab759a40c7 100644
--- a/plots/line-styled/metadata/plotnine.yaml
+++ b/plots/line-styled/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of all four standard line styles (solid, dashed, dotted, dash-dot)
diff --git a/plots/line-styled/metadata/pygal.yaml b/plots/line-styled/metadata/pygal.yaml
index 28755be426..a0d50cb55a 100644
--- a/plots/line-styled/metadata/pygal.yaml
+++ b/plots/line-styled/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-styled/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all 4 standard line styles (solid, dashed, dotted,
diff --git a/plots/line-styled/metadata/seaborn.yaml b/plots/line-styled/metadata/seaborn.yaml
index 9f6736ccf7..b9d61f0c04 100644
--- a/plots/line-styled/metadata/seaborn.yaml
+++ b/plots/line-styled/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-styled/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-styled/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of all four standard line styles (solid, dashed, dotted, dash-dot)
diff --git a/plots/line-timeseries-rolling/metadata/altair.yaml b/plots/line-timeseries-rolling/metadata/altair.yaml
index 01f1e435a0..fa39ea3547 100644
--- a/plots/line-timeseries-rolling/metadata/altair.yaml
+++ b/plots/line-timeseries-rolling/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - rolling-window
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Altair declarative grammar with conditional encoding for strokeWidth
diff --git a/plots/line-timeseries-rolling/metadata/bokeh.yaml b/plots/line-timeseries-rolling/metadata/bokeh.yaml
index b210e048ec..592941f43b 100644
--- a/plots/line-timeseries-rolling/metadata/bokeh.yaml
+++ b/plots/line-timeseries-rolling/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep:
+ - rolling-window
+ styling:
+ - grid-styling
+ - alpha-blending
review:
strengths:
- Excellent visual distinction between raw data (blue, semi-transparent) and rolling
diff --git a/plots/line-timeseries-rolling/metadata/highcharts.yaml b/plots/line-timeseries-rolling/metadata/highcharts.yaml
index 6442e1f4d2..57c50f6f2e 100644
--- a/plots/line-timeseries-rolling/metadata/highcharts.yaml
+++ b/plots/line-timeseries-rolling/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - rolling-window
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent visual design with proper colorblind-safe palette (blue/yellow)
diff --git a/plots/line-timeseries-rolling/metadata/letsplot.yaml b/plots/line-timeseries-rolling/metadata/letsplot.yaml
index d632890f1b..7a4ee13173 100644
--- a/plots/line-timeseries-rolling/metadata/letsplot.yaml
+++ b/plots/line-timeseries-rolling/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - rolling-window
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent dual-layer visualization clearly distinguishing raw data from smoothed
diff --git a/plots/line-timeseries-rolling/metadata/matplotlib.yaml b/plots/line-timeseries-rolling/metadata/matplotlib.yaml
index 48f604a577..5f77b84929 100644
--- a/plots/line-timeseries-rolling/metadata/matplotlib.yaml
+++ b/plots/line-timeseries-rolling/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - rolling-window
+ styling:
+ - grid-styling
+ - alpha-blending
review:
strengths:
- Excellent dual-layer visualization with clear contrast between raw data and rolling
diff --git a/plots/line-timeseries-rolling/metadata/plotly.yaml b/plots/line-timeseries-rolling/metadata/plotly.yaml
index 2345a420d4..3f31fe6b7c 100644
--- a/plots/line-timeseries-rolling/metadata/plotly.yaml
+++ b/plots/line-timeseries-rolling/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - rolling-window
+ styling:
+ - grid-styling
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with well-chosen colors (blue raw data, yellow rolling
diff --git a/plots/line-timeseries-rolling/metadata/plotnine.yaml b/plots/line-timeseries-rolling/metadata/plotnine.yaml
index 6e4f8e343d..9bc5855bb5 100644
--- a/plots/line-timeseries-rolling/metadata/plotnine.yaml
+++ b/plots/line-timeseries-rolling/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep:
+ - rolling-window
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper aesthetics mapping for
diff --git a/plots/line-timeseries-rolling/metadata/pygal.yaml b/plots/line-timeseries-rolling/metadata/pygal.yaml
index 1598d3d981..eb06517ed3 100644
--- a/plots/line-timeseries-rolling/metadata/pygal.yaml
+++ b/plots/line-timeseries-rolling/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - rolling-window
+ styling: []
review:
strengths:
- Excellent visual distinction between raw data (thin blue line) and rolling average
diff --git a/plots/line-timeseries-rolling/metadata/seaborn.yaml b/plots/line-timeseries-rolling/metadata/seaborn.yaml
index 680baa7c99..c0d645e55d 100644
--- a/plots/line-timeseries-rolling/metadata/seaborn.yaml
+++ b/plots/line-timeseries-rolling/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries-rolling/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - rolling-window
+ styling:
+ - grid-styling
+ - alpha-blending
review:
strengths:
- Excellent visual distinction between raw data (thin, semi-transparent blue) and
diff --git a/plots/line-timeseries/metadata/altair.yaml b/plots/line-timeseries/metadata/altair.yaml
index 750df723e9..14dc726ed3 100644
--- a/plots/line-timeseries/metadata/altair.yaml
+++ b/plots/line-timeseries/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with properly sized fonts (28pt title, 22pt axis titles,
diff --git a/plots/line-timeseries/metadata/bokeh.yaml b/plots/line-timeseries/metadata/bokeh.yaml
index 45c51cf118..04a1be8261 100644
--- a/plots/line-timeseries/metadata/bokeh.yaml
+++ b/plots/line-timeseries/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing for 4800x2700 canvas - all text is highly readable
diff --git a/plots/line-timeseries/metadata/highcharts.yaml b/plots/line-timeseries/metadata/highcharts.yaml
index ee3ca12783..18e54a66a3 100644
--- a/plots/line-timeseries/metadata/highcharts.yaml
+++ b/plots/line-timeseries/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent seasonal temperature pattern with realistic daily variation demonstrates
diff --git a/plots/line-timeseries/metadata/letsplot.yaml b/plots/line-timeseries/metadata/letsplot.yaml
index 756f47da47..0df791efbe 100644
--- a/plots/line-timeseries/metadata/letsplot.yaml
+++ b/plots/line-timeseries/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent seasonal temperature pattern with realistic daily variation using sine
diff --git a/plots/line-timeseries/metadata/matplotlib.yaml b/plots/line-timeseries/metadata/matplotlib.yaml
index 012a3760a9..e2daeb2fd6 100644
--- a/plots/line-timeseries/metadata/matplotlib.yaml
+++ b/plots/line-timeseries/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of matplotlib.dates module with MonthLocator and DateFormatter for
diff --git a/plots/line-timeseries/metadata/plotly.yaml b/plots/line-timeseries/metadata/plotly.yaml
index d64de611de..d704bd7966 100644
--- a/plots/line-timeseries/metadata/plotly.yaml
+++ b/plots/line-timeseries/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent seasonal temperature model with realistic sinusoidal pattern peaking
diff --git a/plots/line-timeseries/metadata/plotnine.yaml b/plots/line-timeseries/metadata/plotnine.yaml
index d860def5c4..ef76db4a9e 100644
--- a/plots/line-timeseries/metadata/plotnine.yaml
+++ b/plots/line-timeseries/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - mizani
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of plotnine grammar of graphics pattern with proper layering (geom_line
diff --git a/plots/line-timeseries/metadata/pygal.yaml b/plots/line-timeseries/metadata/pygal.yaml
index 93c766de9f..fa9fe31dc6 100644
--- a/plots/line-timeseries/metadata/pygal.yaml
+++ b/plots/line-timeseries/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent date label handling using x_labels_major to show only first of each
diff --git a/plots/line-timeseries/metadata/seaborn.yaml b/plots/line-timeseries/metadata/seaborn.yaml
index 2cda3bdc20..1b2f53d6b6 100644
--- a/plots/line-timeseries/metadata/seaborn.yaml
+++ b/plots/line-timeseries/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/line-timeseries
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/line-timeseries/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent text sizing and readability at high resolution
diff --git a/plots/lollipop-basic/metadata/altair.yaml b/plots/lollipop-basic/metadata/altair.yaml
index 0637c58a9a..8c2af27ae6 100644
--- a/plots/lollipop-basic/metadata/altair.yaml
+++ b/plots/lollipop-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Clean implementation of lollipop chart using Altair layered approach (mark_rule
diff --git a/plots/lollipop-basic/metadata/bokeh.yaml b/plots/lollipop-basic/metadata/bokeh.yaml
index 4ef0626619..3fe0969b1c 100644
--- a/plots/lollipop-basic/metadata/bokeh.yaml
+++ b/plots/lollipop-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean lollipop chart implementation using segment + scatter glyphs
diff --git a/plots/lollipop-basic/metadata/highcharts.yaml b/plots/lollipop-basic/metadata/highcharts.yaml
index c98073b358..69a3f857b4 100644
--- a/plots/lollipop-basic/metadata/highcharts.yaml
+++ b/plots/lollipop-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of lollipop chart using clever combination of scatter
diff --git a/plots/lollipop-basic/metadata/letsplot.yaml b/plots/lollipop-basic/metadata/letsplot.yaml
index 631b1384dc..dd1f9138de 100644
--- a/plots/lollipop-basic/metadata/letsplot.yaml
+++ b/plots/lollipop-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Clean, minimalist lollipop chart that perfectly matches the spec requirements
diff --git a/plots/lollipop-basic/metadata/matplotlib.yaml b/plots/lollipop-basic/metadata/matplotlib.yaml
index f75e97d2e6..d626fcbd9e 100644
--- a/plots/lollipop-basic/metadata/matplotlib.yaml
+++ b/plots/lollipop-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Clean, minimalist aesthetic that exemplifies the lollipop chart concept
diff --git a/plots/lollipop-basic/metadata/plotly.yaml b/plots/lollipop-basic/metadata/plotly.yaml
index 7a0b13bbbf..d2068a6cb6 100644
--- a/plots/lollipop-basic/metadata/plotly.yaml
+++ b/plots/lollipop-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, minimalist lollipop chart that perfectly matches the spec description
diff --git a/plots/lollipop-basic/metadata/plotnine.yaml b/plots/lollipop-basic/metadata/plotnine.yaml
index 23f7680ed5..adcb302516 100644
--- a/plots/lollipop-basic/metadata/plotnine.yaml
+++ b/plots/lollipop-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of lollipop chart using plotnine grammar of graphics
diff --git a/plots/lollipop-basic/metadata/pygal.yaml b/plots/lollipop-basic/metadata/pygal.yaml
index 29340ae6cb..9a575f575c 100644
--- a/plots/lollipop-basic/metadata/pygal.yaml
+++ b/plots/lollipop-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of lollipop chart using pygal XY chart with creative
diff --git a/plots/lollipop-basic/metadata/seaborn.yaml b/plots/lollipop-basic/metadata/seaborn.yaml
index 3dcf9049f2..3983dbd6d6 100644
--- a/plots/lollipop-basic/metadata/seaborn.yaml
+++ b/plots/lollipop-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/lollipop-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual clarity with well-sized text and elements
diff --git a/plots/manhattan-gwas/metadata/altair.yaml b/plots/manhattan-gwas/metadata/altair.yaml
index 67dffdb066..45c9a56734 100644
--- a/plots/manhattan-gwas/metadata/altair.yaml
+++ b/plots/manhattan-gwas/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - manual-ticks
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent Manhattan plot with clear alternating chromosome colors (blue/gray)
diff --git a/plots/manhattan-gwas/metadata/bokeh.yaml b/plots/manhattan-gwas/metadata/bokeh.yaml
index 13fd1c46fe..1368140711 100644
--- a/plots/manhattan-gwas/metadata/bokeh.yaml
+++ b/plots/manhattan-gwas/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of Manhattan plot with proper chromosome coloring and
diff --git a/plots/manhattan-gwas/metadata/highcharts.yaml b/plots/manhattan-gwas/metadata/highcharts.yaml
index f6e68228a8..a36c6eabd3 100644
--- a/plots/manhattan-gwas/metadata/highcharts.yaml
+++ b/plots/manhattan-gwas/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - manual-ticks
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Correct Manhattan plot type with cumulative genomic positions and alternating
diff --git a/plots/manhattan-gwas/metadata/letsplot.yaml b/plots/manhattan-gwas/metadata/letsplot.yaml
index 8618bcfce1..87c15bb6c4 100644
--- a/plots/manhattan-gwas/metadata/letsplot.yaml
+++ b/plots/manhattan-gwas/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent Manhattan plot structure with proper cumulative genomic positions and
diff --git a/plots/manhattan-gwas/metadata/matplotlib.yaml b/plots/manhattan-gwas/metadata/matplotlib.yaml
index 117cbe5714..7af9164e6d 100644
--- a/plots/manhattan-gwas/metadata/matplotlib.yaml
+++ b/plots/manhattan-gwas/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent chromosome visualization with alternating blue colors providing clear
diff --git a/plots/manhattan-gwas/metadata/plotly.yaml b/plots/manhattan-gwas/metadata/plotly.yaml
index f5c444b60e..b3652ddc7b 100644
--- a/plots/manhattan-gwas/metadata/plotly.yaml
+++ b/plots/manhattan-gwas/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the Manhattan plot with proper GWAS conventions (alternating
diff --git a/plots/manhattan-gwas/metadata/plotnine.yaml b/plots/manhattan-gwas/metadata/plotnine.yaml
index 8e1980c382..a8bc035ea8 100644
--- a/plots/manhattan-gwas/metadata/plotnine.yaml
+++ b/plots/manhattan-gwas/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with clean layered syntax
diff --git a/plots/manhattan-gwas/metadata/pygal.yaml b/plots/manhattan-gwas/metadata/pygal.yaml
index be61540c1d..dde186555e 100644
--- a/plots/manhattan-gwas/metadata/pygal.yaml
+++ b/plots/manhattan-gwas/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/pygal/plot.html
quality_score: 82
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating blue/gray color scheme for chromosome distinction that is
diff --git a/plots/manhattan-gwas/metadata/seaborn.yaml b/plots/manhattan-gwas/metadata/seaborn.yaml
index f86c3438ba..d6928d8375 100644
--- a/plots/manhattan-gwas/metadata/seaborn.yaml
+++ b/plots/manhattan-gwas/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/manhattan-gwas/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent biological realism with chromosome-specific significant peaks mimicking
diff --git a/plots/marimekko-basic/metadata/altair.yaml b/plots/marimekko-basic/metadata/altair.yaml
index 0c32bec891..70e627e61d 100644
--- a/plots/marimekko-basic/metadata/altair.yaml
+++ b/plots/marimekko-basic/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - long-to-wide
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of Marimekko chart concept using rect marks with calculated
diff --git a/plots/marimekko-basic/metadata/bokeh.yaml b/plots/marimekko-basic/metadata/bokeh.yaml
index e3794eba2b..603a4e4b54 100644
--- a/plots/marimekko-basic/metadata/bokeh.yaml
+++ b/plots/marimekko-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - columndatasource
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of the Marimekko chart concept with proportional bar
diff --git a/plots/marimekko-basic/metadata/highcharts.yaml b/plots/marimekko-basic/metadata/highcharts.yaml
index 198650d9e8..ee09d6774e 100644
--- a/plots/marimekko-basic/metadata/highcharts.yaml
+++ b/plots/marimekko-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ - pillow
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts variwide chart type for the Marimekko visualization
diff --git a/plots/marimekko-basic/metadata/letsplot.yaml b/plots/marimekko-basic/metadata/letsplot.yaml
index 0f67a2e699..e977ec0447 100644
--- a/plots/marimekko-basic/metadata/letsplot.yaml
+++ b/plots/marimekko-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - long-to-wide
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent Marimekko chart implementation with proper variable-width bars representing
diff --git a/plots/marimekko-basic/metadata/matplotlib.yaml b/plots/marimekko-basic/metadata/matplotlib.yaml
index 09a04c7f2c..749e8a0de3 100644
--- a/plots/marimekko-basic/metadata/matplotlib.yaml
+++ b/plots/marimekko-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of the Marimekko concept with proportional bar widths
diff --git a/plots/marimekko-basic/metadata/plotly.yaml b/plots/marimekko-basic/metadata/plotly.yaml
index 09d345aa1e..87fcded1cf 100644
--- a/plots/marimekko-basic/metadata/plotly.yaml
+++ b/plots/marimekko-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of Marimekko chart logic with correct proportional widths
diff --git a/plots/marimekko-basic/metadata/plotnine.yaml b/plots/marimekko-basic/metadata/plotnine.yaml
index d9c93ad73e..15e9b2da20 100644
--- a/plots/marimekko-basic/metadata/plotnine.yaml
+++ b/plots/marimekko-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - long-to-wide
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of variable-width stacked bars using geom_rect with precise
diff --git a/plots/marimekko-basic/metadata/pygal.yaml b/plots/marimekko-basic/metadata/pygal.yaml
index f9c2a706cf..0fd6c5ad39 100644
--- a/plots/marimekko-basic/metadata/pygal.yaml
+++ b/plots/marimekko-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent custom implementation extending pygal Graph class to create a chart
diff --git a/plots/marimekko-basic/metadata/seaborn.yaml b/plots/marimekko-basic/metadata/seaborn.yaml
index 0327055e40..0edd2c6fb7 100644
--- a/plots/marimekko-basic/metadata/seaborn.yaml
+++ b/plots/marimekko-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/marimekko-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of Marimekko chart with correctly proportioned variable-width
diff --git a/plots/network-basic/metadata/altair.yaml b/plots/network-basic/metadata/altair.yaml
index f68d747e8c..518cc196c9 100644
--- a/plots/network-basic/metadata/altair.yaml
+++ b/plots/network-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent force-directed layout implementation from scratch showing clear community
diff --git a/plots/network-basic/metadata/bokeh.yaml b/plots/network-basic/metadata/bokeh.yaml
index 15f466a9f8..4375962c28 100644
--- a/plots/network-basic/metadata/bokeh.yaml
+++ b/plots/network-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-basic/bokeh/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Bokeh interactive features (HoverTool showing name and connections,
diff --git a/plots/network-basic/metadata/highcharts.yaml b/plots/network-basic/metadata/highcharts.yaml
index 521fcbe162..2114c1a03b 100644
--- a/plots/network-basic/metadata/highcharts.yaml
+++ b/plots/network-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-basic/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-safe palette with four distinct community colors
diff --git a/plots/network-basic/metadata/letsplot.yaml b/plots/network-basic/metadata/letsplot.yaml
index 09594581e8..f3159334f1 100644
--- a/plots/network-basic/metadata/letsplot.yaml
+++ b/plots/network-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent force-directed layout implementation with group clustering (200 iterations,
diff --git a/plots/network-basic/metadata/matplotlib.yaml b/plots/network-basic/metadata/matplotlib.yaml
index 67c2e7c490..11ccaf06be 100644
--- a/plots/network-basic/metadata/matplotlib.yaml
+++ b/plots/network-basic/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent force-directed layout implementation from scratch - nodes cluster by
diff --git a/plots/network-basic/metadata/plotly.yaml b/plots/network-basic/metadata/plotly.yaml
index 118a6e2a31..bccd6f1af4 100644
--- a/plots/network-basic/metadata/plotly.yaml
+++ b/plots/network-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of force-directed layout algorithm from scratch
diff --git a/plots/network-basic/metadata/pygal.yaml b/plots/network-basic/metadata/pygal.yaml
index 71ad9b9033..5efb4b9d3a 100644
--- a/plots/network-basic/metadata/pygal.yaml
+++ b/plots/network-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Creative use of pygal XY chart to represent network graph despite pygal lacking
diff --git a/plots/network-basic/metadata/seaborn.yaml b/plots/network-basic/metadata/seaborn.yaml
index 356a429975..6bacb7d7d3 100644
--- a/plots/network-basic/metadata/seaborn.yaml
+++ b/plots/network-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of force-directed layout algorithm from scratch
diff --git a/plots/network-directed/metadata/altair.yaml b/plots/network-directed/metadata/altair.yaml
index 1457a0f5f9..e58421a285 100644
--- a/plots/network-directed/metadata/altair.yaml
+++ b/plots/network-directed/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-directe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-directed/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-directed/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical layout algorithm that calculates node depths based on topological
diff --git a/plots/network-directed/metadata/bokeh.yaml b/plots/network-directed/metadata/bokeh.yaml
index 30232ba472..335a552e3e 100644
--- a/plots/network-directed/metadata/bokeh.yaml
+++ b/plots/network-directed/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-directe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-directed/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-directed/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent circular layout with proper scaling for the 4800x2700 canvas
diff --git a/plots/network-directed/metadata/highcharts.yaml b/plots/network-directed/metadata/highcharts.yaml
index 95e0dec585..c8c2ffa097 100644
--- a/plots/network-directed/metadata/highcharts.yaml
+++ b/plots/network-directed/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-directe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-directed/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-directed/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clear hierarchical layout showing software module dependencies in logical layers
diff --git a/plots/network-directed/metadata/letsplot.yaml b/plots/network-directed/metadata/letsplot.yaml
index b92bf7bccc..fa9429f835 100644
--- a/plots/network-directed/metadata/letsplot.yaml
+++ b/plots/network-directed/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-directe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-directed/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-directed/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent hierarchical layout clearly showing software dependency structure from
diff --git a/plots/network-directed/metadata/matplotlib.yaml b/plots/network-directed/metadata/matplotlib.yaml
index aeaa4e06d1..74c4c68455 100644
--- a/plots/network-directed/metadata/matplotlib.yaml
+++ b/plots/network-directed/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-directe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-directed/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent directed graph visualization with clear arrow directions showing import
diff --git a/plots/network-directed/metadata/plotly.yaml b/plots/network-directed/metadata/plotly.yaml
index 3a9c023c88..f97713448d 100644
--- a/plots/network-directed/metadata/plotly.yaml
+++ b/plots/network-directed/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-directe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-directed/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-directed/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent circular layout algorithm that positions nodes evenly and prevents overlap
diff --git a/plots/network-directed/metadata/seaborn.yaml b/plots/network-directed/metadata/seaborn.yaml
index 0d7565071f..9572f8c043 100644
--- a/plots/network-directed/metadata/seaborn.yaml
+++ b/plots/network-directed/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-directe
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-directed/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual clarity with well-sized nodes and clearly visible directed arrows
diff --git a/plots/network-force-directed/metadata/altair.yaml b/plots/network-force-directed/metadata/altair.yaml
index 2c8105e6bb..88d5257165 100644
--- a/plots/network-force-directed/metadata/altair.yaml
+++ b/plots/network-force-directed/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of Fruchterman-Reingold force-directed layout algorithm
diff --git a/plots/network-force-directed/metadata/bokeh.yaml b/plots/network-force-directed/metadata/bokeh.yaml
index 4066f94f2e..460abf7454 100644
--- a/plots/network-force-directed/metadata/bokeh.yaml
+++ b/plots/network-force-directed/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - custom-legend
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of Fruchterman-Reingold force-directed layout algorithm
diff --git a/plots/network-force-directed/metadata/highcharts.yaml b/plots/network-force-directed/metadata/highcharts.yaml
index e57a48cc1f..091f9662e1 100644
--- a/plots/network-force-directed/metadata/highcharts.yaml
+++ b/plots/network-force-directed/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts networkgraph module with proper physics simulation
diff --git a/plots/network-force-directed/metadata/letsplot.yaml b/plots/network-force-directed/metadata/letsplot.yaml
index 0839c4d066..060dbbe7e8 100644
--- a/plots/network-force-directed/metadata/letsplot.yaml
+++ b/plots/network-force-directed/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of force-directed layout algorithm (Fruchterman-Reingold)
diff --git a/plots/network-force-directed/metadata/matplotlib.yaml b/plots/network-force-directed/metadata/matplotlib.yaml
index 6639d0c877..439dffb0cf 100644
--- a/plots/network-force-directed/metadata/matplotlib.yaml
+++ b/plots/network-force-directed/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of Fruchterman-Reingold force-directed layout algorithm
diff --git a/plots/network-force-directed/metadata/plotly.yaml b/plots/network-force-directed/metadata/plotly.yaml
index bd8e5b36f3..013b293c80 100644
--- a/plots/network-force-directed/metadata/plotly.yaml
+++ b/plots/network-force-directed/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clear community clustering with three distinct visual groups (Engineering blue,
diff --git a/plots/network-force-directed/metadata/plotnine.yaml b/plots/network-force-directed/metadata/plotnine.yaml
index 06e33336d1..d01e5c1360 100644
--- a/plots/network-force-directed/metadata/plotnine.yaml
+++ b/plots/network-force-directed/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent Fruchterman-Reingold force-directed layout implementation that creates
diff --git a/plots/network-force-directed/metadata/pygal.yaml b/plots/network-force-directed/metadata/pygal.yaml
index e3c900a318..91c8e3cdfe 100644
--- a/plots/network-force-directed/metadata/pygal.yaml
+++ b/plots/network-force-directed/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/network-force-directed/metadata/seaborn.yaml b/plots/network-force-directed/metadata/seaborn.yaml
index 052ca478a5..cdac887f0c 100644
--- a/plots/network-force-directed/metadata/seaborn.yaml
+++ b/plots/network-force-directed/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/network-force-d
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/network-force-directed/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of Fruchterman-Reingold force-directed layout algorithm
diff --git a/plots/parallel-basic/metadata/altair.yaml b/plots/parallel-basic/metadata/altair.yaml
index 799171ecb1..bb97b92563 100644
--- a/plots/parallel-basic/metadata/altair.yaml
+++ b/plots/parallel-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent data transformation approach using melt() to create long-format data
diff --git a/plots/parallel-basic/metadata/bokeh.yaml b/plots/parallel-basic/metadata/bokeh.yaml
index a4de892982..9585946c3a 100644
--- a/plots/parallel-basic/metadata/bokeh.yaml
+++ b/plots/parallel-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent normalization implementation with original value ranges preserved in
diff --git a/plots/parallel-basic/metadata/highcharts.yaml b/plots/parallel-basic/metadata/highcharts.yaml
index 3c23753194..95d19375d5 100644
--- a/plots/parallel-basic/metadata/highcharts.yaml
+++ b/plots/parallel-basic/metadata/highcharts.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/highcharts/plot.html
quality_score: 97
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of the Highcharts parallel-coordinates module with proper axis configuration
diff --git a/plots/parallel-basic/metadata/letsplot.yaml b/plots/parallel-basic/metadata/letsplot.yaml
index 98cc4d0b86..e210dde0b4 100644
--- a/plots/parallel-basic/metadata/letsplot.yaml
+++ b/plots/parallel-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - html-export
+ patterns:
+ - dataset-loading
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of parallel coordinates using lets-plot ggplot2 grammar
diff --git a/plots/parallel-basic/metadata/matplotlib.yaml b/plots/parallel-basic/metadata/matplotlib.yaml
index bf9ec93edf..05a13f0ec8 100644
--- a/plots/parallel-basic/metadata/matplotlib.yaml
+++ b/plots/parallel-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of parallel coordinates from scratch using matplotlib
diff --git a/plots/parallel-basic/metadata/plotly.yaml b/plots/parallel-basic/metadata/plotly.yaml
index 1f923d17de..7d60eb45a8 100644
--- a/plots/parallel-basic/metadata/plotly.yaml
+++ b/plots/parallel-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Iris dataset as a realistic, well-understood multivariate example
diff --git a/plots/parallel-basic/metadata/plotnine.yaml b/plots/parallel-basic/metadata/plotnine.yaml
index 03f490694f..158707afb1 100644
--- a/plots/parallel-basic/metadata/plotnine.yaml
+++ b/plots/parallel-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - dataset-loading
+ - wide-to-long
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean grammar-of-graphics implementation using geom_line and geom_point for parallel
diff --git a/plots/parallel-basic/metadata/pygal.yaml b/plots/parallel-basic/metadata/pygal.yaml
index 6747c57f56..62769cb72d 100644
--- a/plots/parallel-basic/metadata/pygal.yaml
+++ b/plots/parallel-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/pygal/plot.html
quality_score: 83
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-friendly color palette (blue, yellow, teal) for the three
diff --git a/plots/parallel-basic/metadata/seaborn.yaml b/plots/parallel-basic/metadata/seaborn.yaml
index 5969ccca74..d81fe48469 100644
--- a/plots/parallel-basic/metadata/seaborn.yaml
+++ b/plots/parallel-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - dataset-loading
+ - wide-to-long
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visualization clarity with well-separated species clusters visible in
diff --git a/plots/parallel-categories-basic/metadata/altair.yaml b/plots/parallel-categories-basic/metadata/altair.yaml
index c9a161ba3b..10d16d4cf5 100644
--- a/plots/parallel-categories-basic/metadata/altair.yaml
+++ b/plots/parallel-categories-basic/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Column headers now correctly positioned above boxes, improving readability
diff --git a/plots/parallel-categories-basic/metadata/bokeh.yaml b/plots/parallel-categories-basic/metadata/bokeh.yaml
index 390292abf2..2695c599cb 100644
--- a/plots/parallel-categories-basic/metadata/bokeh.yaml
+++ b/plots/parallel-categories-basic/metadata/bokeh.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of parallel categories from first principles using Bokeh
diff --git a/plots/parallel-categories-basic/metadata/highcharts.yaml b/plots/parallel-categories-basic/metadata/highcharts.yaml
index 0c05719a9a..43fd2e9890 100644
--- a/plots/parallel-categories-basic/metadata/highcharts.yaml
+++ b/plots/parallel-categories-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data visualization showing clear passenger flow through all four Titanic
diff --git a/plots/parallel-categories-basic/metadata/letsplot.yaml b/plots/parallel-categories-basic/metadata/letsplot.yaml
index 4dcb350476..b3a1cc4fbd 100644
--- a/plots/parallel-categories-basic/metadata/letsplot.yaml
+++ b/plots/parallel-categories-basic/metadata/letsplot.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean KISS flat structure without functions or classes (addressed previous feedback)
diff --git a/plots/parallel-categories-basic/metadata/matplotlib.yaml b/plots/parallel-categories-basic/metadata/matplotlib.yaml
index 81362ed157..b8f9f70812 100644
--- a/plots/parallel-categories-basic/metadata/matplotlib.yaml
+++ b/plots/parallel-categories-basic/metadata/matplotlib.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of parallel categories using matplotlib low-level Path
diff --git a/plots/parallel-categories-basic/metadata/plotly.yaml b/plots/parallel-categories-basic/metadata/plotly.yaml
index baa1af0a3f..b1168efea2 100644
--- a/plots/parallel-categories-basic/metadata/plotly.yaml
+++ b/plots/parallel-categories-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - dataset-loading
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Titanic dataset providing realistic, well-known categorical data
diff --git a/plots/parallel-categories-basic/metadata/plotnine.yaml b/plots/parallel-categories-basic/metadata/plotnine.yaml
index 7b62fee803..1c965d2645 100644
--- a/plots/parallel-categories-basic/metadata/plotnine.yaml
+++ b/plots/parallel-categories-basic/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Creative implementation of parallel categories using plotnine basic geoms (geom_polygon,
diff --git a/plots/parallel-categories-basic/metadata/pygal.yaml b/plots/parallel-categories-basic/metadata/pygal.yaml
index 3cea2c7806..e38cb07060 100644
--- a/plots/parallel-categories-basic/metadata/pygal.yaml
+++ b/plots/parallel-categories-basic/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - bezier-curves
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent parallel categories visualization with clear flow ribbons connecting
diff --git a/plots/parallel-categories-basic/metadata/seaborn.yaml b/plots/parallel-categories-basic/metadata/seaborn.yaml
index 71e81f4210..8e58306419 100644
--- a/plots/parallel-categories-basic/metadata/seaborn.yaml
+++ b/plots/parallel-categories-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parallel-catego
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parallel-categories-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent colorblind-safe palette choice using seaborn colorblind palette
diff --git a/plots/parliament-basic/metadata/altair.yaml b/plots/parliament-basic/metadata/altair.yaml
index ae9742855b..56c3aef8cd 100644
--- a/plots/parliament-basic/metadata/altair.yaml
+++ b/plots/parliament-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent semicircular parliament visualization with proper arc arrangement
diff --git a/plots/parliament-basic/metadata/bokeh.yaml b/plots/parliament-basic/metadata/bokeh.yaml
index 6bd41a9722..47adef247e 100644
--- a/plots/parliament-basic/metadata/bokeh.yaml
+++ b/plots/parliament-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/bokeh/plot.html
quality_score: null
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent semicircular parliament visualization with proper concentric arc arrangement
@@ -30,17 +41,30 @@ review:
- Political party names (Progressive, Conservative, etc.) could potentially be replaced
with more neutral terminology (e.g., "Party A", "Party B") to avoid any political
connotations
- image_description: |-
- The plot displays a semicircular parliament seat chart with 300 total seats arranged in concentric arcs. Seven parties are represented with distinct colors:
+ image_description: 'The plot displays a semicircular parliament seat chart with
+ 300 total seats arranged in concentric arcs. Seven parties are represented with
+ distinct colors:
+
- **Progressive Party (85 seats)** - Blue (#306998) - positioned on the left side
+
- **Conservative Union (72 seats)** - Red (#E74C3C) - center-left area
+
- **Green Alliance (45 seats)** - Green (#27AE60) - center area
+
- **Liberal Democrats (38 seats)** - Yellow (#FFD43B) - center-right area
+
- **Social Democrats (32 seats)** - Purple (#9B59B6) - right-center area
+
- **Regional Party (18 seats)** - Orange (#E67E22) - right side
+
- **Independents (10 seats)** - Gray (#95A5A6) - far right side
- The title reads "parliament-basic · bokeh · pyplots.ai" at the top. A large "300" with "seats" label appears in the center of the semicircle. Below the chart, "Majority threshold: 151 seats" is displayed. The legend is positioned on the right side showing all parties with their seat counts. Individual seats are rendered as circular dots arranged in multiple concentric arcs.
+
+ The title reads "parliament-basic · bokeh · pyplots.ai" at the top. A large "300"
+ with "seats" label appears in the center of the semicircle. Below the chart, "Majority
+ threshold: 151 seats" is displayed. The legend is positioned on the right side
+ showing all parties with their seat counts. Individual seats are rendered as circular
+ dots arranged in multiple concentric arcs.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/parliament-basic/metadata/highcharts.yaml b/plots/parliament-basic/metadata/highcharts.yaml
index 6d8dd8551c..efd6840819 100644
--- a/plots/parliament-basic/metadata/highcharts.yaml
+++ b/plots/parliament-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual representation of parliament seats in semicircular arcs
diff --git a/plots/parliament-basic/metadata/letsplot.yaml b/plots/parliament-basic/metadata/letsplot.yaml
index 0fb34dfacd..62596af0a4 100644
--- a/plots/parliament-basic/metadata/letsplot.yaml
+++ b/plots/parliament-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent semicircular parliament visualization with clean concentric arcs
diff --git a/plots/parliament-basic/metadata/matplotlib.yaml b/plots/parliament-basic/metadata/matplotlib.yaml
index d7516c139f..0e2b493974 100644
--- a/plots/parliament-basic/metadata/matplotlib.yaml
+++ b/plots/parliament-basic/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - minimal-chrome
review:
strengths:
- Clean semicircular layout algorithm with proper seat distribution across 8 concentric
diff --git a/plots/parliament-basic/metadata/plotly.yaml b/plots/parliament-basic/metadata/plotly.yaml
index ed74a30412..373ef125e0 100644
--- a/plots/parliament-basic/metadata/plotly.yaml
+++ b/plots/parliament-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent semicircular seat arrangement algorithm that properly distributes seats
diff --git a/plots/parliament-basic/metadata/plotnine.yaml b/plots/parliament-basic/metadata/plotnine.yaml
index 81ea4993d3..512f14f842 100644
--- a/plots/parliament-basic/metadata/plotnine.yaml
+++ b/plots/parliament-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent semicircular seat arrangement algorithm with proper left-to-right party
diff --git a/plots/parliament-basic/metadata/seaborn.yaml b/plots/parliament-basic/metadata/seaborn.yaml
index 4073dd60b4..3b2be70970 100644
--- a/plots/parliament-basic/metadata/seaborn.yaml
+++ b/plots/parliament-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/parliament-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/parliament-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - minimal-chrome
review:
strengths:
- Excellent semicircular layout with 5 well-proportioned concentric arcs
diff --git a/plots/pdp-basic/metadata/altair.yaml b/plots/pdp-basic/metadata/altair.yaml
index beaa98b856..030db64563 100644
--- a/plots/pdp-basic/metadata/altair.yaml
+++ b/plots/pdp-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all spec requirements including confidence intervals
diff --git a/plots/pdp-basic/metadata/bokeh.yaml b/plots/pdp-basic/metadata/bokeh.yaml
index 627a299516..37cfed0649 100644
--- a/plots/pdp-basic/metadata/bokeh.yaml
+++ b/plots/pdp-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all spec requirements including confidence band, rug
diff --git a/plots/pdp-basic/metadata/highcharts.yaml b/plots/pdp-basic/metadata/highcharts.yaml
index c660419e28..0f0e930e42 100644
--- a/plots/pdp-basic/metadata/highcharts.yaml
+++ b/plots/pdp-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Correct implementation of PDP with confidence intervals computed from individual
diff --git a/plots/pdp-basic/metadata/letsplot.yaml b/plots/pdp-basic/metadata/letsplot.yaml
index aeecb1300d..65cce8c777 100644
--- a/plots/pdp-basic/metadata/letsplot.yaml
+++ b/plots/pdp-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of PDP with comprehensive visualization including ICE
diff --git a/plots/pdp-basic/metadata/matplotlib.yaml b/plots/pdp-basic/metadata/matplotlib.yaml
index d0fb33b940..754f1794d5 100644
--- a/plots/pdp-basic/metadata/matplotlib.yaml
+++ b/plots/pdp-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of PDP with ICE lines using sklearn partial_dependence
diff --git a/plots/pdp-basic/metadata/plotly.yaml b/plots/pdp-basic/metadata/plotly.yaml
index 3bcbe0f089..5a1d55b0f1 100644
--- a/plots/pdp-basic/metadata/plotly.yaml
+++ b/plots/pdp-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of real sklearn diabetes dataset providing meaningful, interpretable
diff --git a/plots/pdp-basic/metadata/plotnine.yaml b/plots/pdp-basic/metadata/plotnine.yaml
index fb642db896..034e063e14 100644
--- a/plots/pdp-basic/metadata/plotnine.yaml
+++ b/plots/pdp-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of PDP using real sklearn partial_dependence computation
diff --git a/plots/pdp-basic/metadata/pygal.yaml b/plots/pdp-basic/metadata/pygal.yaml
index 8c3180e153..8408580dc8 100644
--- a/plots/pdp-basic/metadata/pygal.yaml
+++ b/plots/pdp-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clear monotonic PDP relationship that effectively demonstrates feature impact
diff --git a/plots/pdp-basic/metadata/seaborn.yaml b/plots/pdp-basic/metadata/seaborn.yaml
index 1920dac587..8a8bd9b2cf 100644
--- a/plots/pdp-basic/metadata/seaborn.yaml
+++ b/plots/pdp-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pdp-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of a PDP with proper confidence intervals and rug plot
diff --git a/plots/phase-diagram/metadata/altair.yaml b/plots/phase-diagram/metadata/altair.yaml
index 025625a5a8..83e7521069 100644
--- a/plots/phase-diagram/metadata/altair.yaml
+++ b/plots/phase-diagram/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of phase space dynamics with four trajectories showing
diff --git a/plots/phase-diagram/metadata/bokeh.yaml b/plots/phase-diagram/metadata/bokeh.yaml
index df686c44b8..545fe4b9ee 100644
--- a/plots/phase-diagram/metadata/bokeh.yaml
+++ b/plots/phase-diagram/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent physics simulation showing damped harmonic oscillator behavior
diff --git a/plots/phase-diagram/metadata/highcharts.yaml b/plots/phase-diagram/metadata/highcharts.yaml
index 51a8a9c625..8d3ac7ec97 100644
--- a/plots/phase-diagram/metadata/highcharts.yaml
+++ b/plots/phase-diagram/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent physics application with analytically correct damped harmonic oscillator
diff --git a/plots/phase-diagram/metadata/letsplot.yaml b/plots/phase-diagram/metadata/letsplot.yaml
index 8d14407c23..85167e2bb4 100644
--- a/plots/phase-diagram/metadata/letsplot.yaml
+++ b/plots/phase-diagram/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visualization of damped harmonic oscillator phase space with clear spiral
diff --git a/plots/phase-diagram/metadata/matplotlib.yaml b/plots/phase-diagram/metadata/matplotlib.yaml
index aafff05a13..d6db939fcc 100644
--- a/plots/phase-diagram/metadata/matplotlib.yaml
+++ b/plots/phase-diagram/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visualization of phase space dynamics with clear spiral convergence
diff --git a/plots/phase-diagram/metadata/plotly.yaml b/plots/phase-diagram/metadata/plotly.yaml
index 8feae21058..079a953e2f 100644
--- a/plots/phase-diagram/metadata/plotly.yaml
+++ b/plots/phase-diagram/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent physics example with analytically correct damped harmonic oscillator
diff --git a/plots/phase-diagram/metadata/plotnine.yaml b/plots/phase-diagram/metadata/plotnine.yaml
index d03100766d..be32d77360 100644
--- a/plots/phase-diagram/metadata/plotnine.yaml
+++ b/plots/phase-diagram/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/plotnine/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visualization of damped harmonic oscillator phase portrait with clear
diff --git a/plots/phase-diagram/metadata/pygal.yaml b/plots/phase-diagram/metadata/pygal.yaml
index 2b92b0b0a1..3c43c41f44 100644
--- a/plots/phase-diagram/metadata/pygal.yaml
+++ b/plots/phase-diagram/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of phase space concepts with both damped and undamped
diff --git a/plots/phase-diagram/metadata/seaborn.yaml b/plots/phase-diagram/metadata/seaborn.yaml
index 0f779b011c..0bbe893515 100644
--- a/plots/phase-diagram/metadata/seaborn.yaml
+++ b/plots/phase-diagram/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/phase-diagram/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visualization of phase space dynamics with clear spiral trajectories
diff --git a/plots/pie-basic/metadata/altair.yaml b/plots/pie-basic/metadata/altair.yaml
index 554b41d886..769205aee9 100644
--- a/plots/pie-basic/metadata/altair.yaml
+++ b/plots/pie-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-basic/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent use of Altair declarative syntax with theta encoding for pie chart
diff --git a/plots/pie-basic/metadata/bokeh.yaml b/plots/pie-basic/metadata/bokeh.yaml
index 63cb05f1d1..89e73c1e25 100644
--- a/plots/pie-basic/metadata/bokeh.yaml
+++ b/plots/pie-basic/metadata/bokeh.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-basic/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - annotations
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Correct title format following pyplots.ai convention
diff --git a/plots/pie-basic/metadata/highcharts.yaml b/plots/pie-basic/metadata/highcharts.yaml
index 1a1173fad1..d0a3694015 100644
--- a/plots/pie-basic/metadata/highcharts.yaml
+++ b/plots/pie-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-basic/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts-specific pie chart features including slice explosion
diff --git a/plots/pie-basic/metadata/letsplot.yaml b/plots/pie-basic/metadata/letsplot.yaml
index 94d78fc80a..18eec0022a 100644
--- a/plots/pie-basic/metadata/letsplot.yaml
+++ b/plots/pie-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-basic/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent use of lets-plot geom_pie() with layer_labels() for percentage formatting
diff --git a/plots/pie-basic/metadata/matplotlib.yaml b/plots/pie-basic/metadata/matplotlib.yaml
index bffd824eee..d098762b6d 100644
--- a/plots/pie-basic/metadata/matplotlib.yaml
+++ b/plots/pie-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-basic/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- 'Excellent use of spec-required features: percentage labels, distinct colors,
diff --git a/plots/pie-basic/metadata/plotly.yaml b/plots/pie-basic/metadata/plotly.yaml
index 933e5dea3f..edc9a76654 100644
--- a/plots/pie-basic/metadata/plotly.yaml
+++ b/plots/pie-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-basic/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- 'Excellent use of the spec-required features: percentage labels on slices, distinct
diff --git a/plots/pie-basic/metadata/pygal.yaml b/plots/pie-basic/metadata/pygal.yaml
index 5ecadc0696..55a07e72b8 100644
--- a/plots/pie-basic/metadata/pygal.yaml
+++ b/plots/pie-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-basic/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, readable code following KISS principles with clear section comments
diff --git a/plots/pie-drilldown/metadata/altair.yaml b/plots/pie-drilldown/metadata/altair.yaml
index e3cf63ad65..07f3466872 100644
--- a/plots/pie-drilldown/metadata/altair.yaml
+++ b/plots/pie-drilldown/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/altair/plot.html
quality_score: 84
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual layout with central main pie and surrounding drilldown charts
@@ -25,10 +35,21 @@ review:
instead of one level at a time with click to reveal)
- Uses helper function violating KISS principle (no functions/classes rule)
- Minor text truncation on DevOps label in Engineering drilldown
- image_description: |-
- The plot displays a central donut chart showing "Company Budget Breakdown with Drilldown Navigation" with the subtitle "pie-drilldown · altair · pyplots.ai". The main central pie shows four departments: Engineering ($1.75M, 54.8% in blue), Marketing ($0.74M, 23.1% in orange), Operations ($0.48M, 15.2% in teal), and HR ($0.22M, 6.9% in purple). The center displays "Total Budget $3.20M".
+ image_description: 'The plot displays a central donut chart showing "Company Budget
+ Breakdown with Drilldown Navigation" with the subtitle "pie-drilldown · altair
+ · pyplots.ai". The main central pie shows four departments: Engineering ($1.75M,
+ 54.8% in blue), Marketing ($0.74M, 23.1% in orange), Operations ($0.48M, 15.2%
+ in teal), and HR ($0.22M, 6.9% in purple). The center displays "Total Budget $3.20M".
- Four smaller drilldown pie charts surround the main chart - Engineering breakdown (left top: Frontend, Backend, DevOps), Operations breakdown (left bottom: Facilities, IT Support), Marketing breakdown (right top: Digital, Content, Events), and HR breakdown (right bottom: Recruiting, Training). Each drilldown shows percentages and dollar amounts. A breadcrumb appears at top: "All Departments › Click any slice to explore team breakdown". An instruction line at the bottom explains interactivity. The colors use consistent shades within each department's drilldown. All text is legible and the layout effectively shows the hierarchical relationship.
+
+ Four smaller drilldown pie charts surround the main chart - Engineering breakdown
+ (left top: Frontend, Backend, DevOps), Operations breakdown (left bottom: Facilities,
+ IT Support), Marketing breakdown (right top: Digital, Content, Events), and HR
+ breakdown (right bottom: Recruiting, Training). Each drilldown shows percentages
+ and dollar amounts. A breadcrumb appears at top: "All Departments › Click any
+ slice to explore team breakdown". An instruction line at the bottom explains interactivity.
+ The colors use consistent shades within each department''s drilldown. All text
+ is legible and the layout effectively shows the hierarchical relationship.'
criteria_checklist:
visual_quality:
score: 33
diff --git a/plots/pie-drilldown/metadata/bokeh.yaml b/plots/pie-drilldown/metadata/bokeh.yaml
index 21f771100a..64e2f6ca8f 100644
--- a/plots/pie-drilldown/metadata/bokeh.yaml
+++ b/plots/pie-drilldown/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/bokeh/plot.html
quality_score: 72
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Good canvas utilization with large 3600x3600 square format - pie chart fills significant
@@ -29,14 +39,24 @@ review:
shades
- The Human Resources slice label text is partially difficult to read due to smaller
slice size and label positioning
- image_description: |-
- The plot displays a pie chart for "Total Expenses" with 4 slices representing company departments. The title "pie-drilldown · bokeh · pyplots.ai" appears at the top in blue. A breadcrumb showing "Total Expenses" is positioned above the pie. The four slices are:
+ image_description: 'The plot displays a pie chart for "Total Expenses" with 4 slices
+ representing company departments. The title "pie-drilldown · bokeh · pyplots.ai"
+ appears at the top in blue. A breadcrumb showing "Total Expenses" is positioned
+ above the pie. The four slices are:
+
- **Operations**: $1320K (34.1%) - Large teal/green slice on the right
+
- **Marketing**: $900K (23.3%) - Teal/green slice at the bottom
+
- **Research**: $1000K (25.8%) - Pink/magenta slice on the left
+
- **Human Resources**: $650K (16.8%) - Coral/red slice at the top-left
- Each slice has white bold text labels showing category name, dollar value, and percentage. The text "Click a slice to drill down" appears at the bottom in gray. The background is a light off-white (#fafafa). The pie chart is well-proportioned and fills a good portion of the canvas (square 3600x3600 format).
+
+ Each slice has white bold text labels showing category name, dollar value, and
+ percentage. The text "Click a slice to drill down" appears at the bottom in gray.
+ The background is a light off-white (#fafafa). The pie chart is well-proportioned
+ and fills a good portion of the canvas (square 3600x3600 format).'
criteria_checklist:
visual_quality:
score: 33
diff --git a/plots/pie-drilldown/metadata/highcharts.yaml b/plots/pie-drilldown/metadata/highcharts.yaml
index 914b5d984e..ecc6cd5189 100644
--- a/plots/pie-drilldown/metadata/highcharts.yaml
+++ b/plots/pie-drilldown/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts native drilldown module with proper breadcrumb configuration
diff --git a/plots/pie-drilldown/metadata/letsplot.yaml b/plots/pie-drilldown/metadata/letsplot.yaml
index 5306a37c92..1b800aeb6f 100644
--- a/plots/pie-drilldown/metadata/letsplot.yaml
+++ b/plots/pie-drilldown/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/letsplot/plot.html
quality_score: 82
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Clean donut chart design with clear percentage labels inside slices
diff --git a/plots/pie-drilldown/metadata/plotly.yaml b/plots/pie-drilldown/metadata/plotly.yaml
index 2b05998c49..d5dc8d042d 100644
--- a/plots/pie-drilldown/metadata/plotly.yaml
+++ b/plots/pie-drilldown/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly interactive capabilities with custom JavaScript for drilldown
diff --git a/plots/pie-drilldown/metadata/pygal.yaml b/plots/pie-drilldown/metadata/pygal.yaml
index ef38a89ddb..2833abf290 100644
--- a/plots/pie-drilldown/metadata/pygal.yaml
+++ b/plots/pie-drilldown/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-drilldown/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical data structure with company budget breakdown across departments
diff --git a/plots/pie-exploded/metadata/altair.yaml b/plots/pie-exploded/metadata/altair.yaml
index 4716ca4cc8..6a0fd3b238 100644
--- a/plots/pie-exploded/metadata/altair.yaml
+++ b/plots/pie-exploded/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/altair/plot.html
quality_score: 75
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean code structure with clear comments explaining the explosion technique
diff --git a/plots/pie-exploded/metadata/bokeh.yaml b/plots/pie-exploded/metadata/bokeh.yaml
index 7e46ce8c68..a587aab953 100644
--- a/plots/pie-exploded/metadata/bokeh.yaml
+++ b/plots/pie-exploded/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ - columndatasource
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Clean implementation of exploded pie chart using Bokeh wedge glyph with manual
diff --git a/plots/pie-exploded/metadata/highcharts.yaml b/plots/pie-exploded/metadata/highcharts.yaml
index 8b3711599c..205f5e05bf 100644
--- a/plots/pie-exploded/metadata/highcharts.yaml
+++ b/plots/pie-exploded/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - hover-tooltips
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts sliced property and slicedOffset for controlling explosion
diff --git a/plots/pie-exploded/metadata/letsplot.yaml b/plots/pie-exploded/metadata/letsplot.yaml
index 71376899f7..b8fa20e299 100644
--- a/plots/pie-exploded/metadata/letsplot.yaml
+++ b/plots/pie-exploded/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - annotations
+ - custom-legend
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Explosion effect is clearly visible with R&D (0.3) and Sales (0.2) noticeably
diff --git a/plots/pie-exploded/metadata/matplotlib.yaml b/plots/pie-exploded/metadata/matplotlib.yaml
index b298ba12b6..187bb25a6c 100644
--- a/plots/pie-exploded/metadata/matplotlib.yaml
+++ b/plots/pie-exploded/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - edge-highlighting
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Clean, professional visualization with excellent color choices using Python Blue
diff --git a/plots/pie-exploded/metadata/plotly.yaml b/plots/pie-exploded/metadata/plotly.yaml
index 4abe461111..c734382ce6 100644
--- a/plots/pie-exploded/metadata/plotly.yaml
+++ b/plots/pie-exploded/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ - custom-legend
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly pull parameter to achieve exploded effect with per-slice
diff --git a/plots/pie-exploded/metadata/plotnine.yaml b/plots/pie-exploded/metadata/plotnine.yaml
index 8b643769a3..6e47431664 100644
--- a/plots/pie-exploded/metadata/plotnine.yaml
+++ b/plots/pie-exploded/metadata/plotnine.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual execution with clear explosion effect on the market leader slice
diff --git a/plots/pie-exploded/metadata/pygal.yaml b/plots/pie-exploded/metadata/pygal.yaml
index ebb11a3914..77fc170209 100644
--- a/plots/pie-exploded/metadata/pygal.yaml
+++ b/plots/pie-exploded/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal XML filter mechanism to implement custom explosion effect
diff --git a/plots/pie-exploded/metadata/seaborn.yaml b/plots/pie-exploded/metadata/seaborn.yaml
index 55f330007f..3645bf177b 100644
--- a/plots/pie-exploded/metadata/seaborn.yaml
+++ b/plots/pie-exploded/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pie-exploded/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - edge-highlighting
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Clean and professional visual appearance with well-styled legend (shadow, fancybox)
diff --git a/plots/point-basic/metadata/altair.yaml b/plots/point-basic/metadata/altair.yaml
index 21bbdd8480..c8dc6f6042 100644
--- a/plots/point-basic/metadata/altair.yaml
+++ b/plots/point-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/point-basic/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of layered Altair chart combining points, rules, and
diff --git a/plots/point-basic/metadata/bokeh.yaml b/plots/point-basic/metadata/bokeh.yaml
index 80ad9d69e6..1182bd2730 100644
--- a/plots/point-basic/metadata/bokeh.yaml
+++ b/plots/point-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/point-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of horizontal point estimate plot with proper orientation
diff --git a/plots/point-basic/metadata/highcharts.yaml b/plots/point-basic/metadata/highcharts.yaml
index 09f7b89333..ccbd395e3b 100644
--- a/plots/point-basic/metadata/highcharts.yaml
+++ b/plots/point-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/point-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal orientation for category readability
diff --git a/plots/point-basic/metadata/letsplot.yaml b/plots/point-basic/metadata/letsplot.yaml
index 440ba455f5..1727bc4a11 100644
--- a/plots/point-basic/metadata/letsplot.yaml
+++ b/plots/point-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/point-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of geom_pointrange for clean point-and-interval visualization
diff --git a/plots/point-basic/metadata/matplotlib.yaml b/plots/point-basic/metadata/matplotlib.yaml
index 08e6735f16..216abc7c9a 100644
--- a/plots/point-basic/metadata/matplotlib.yaml
+++ b/plots/point-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 99
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent horizontal layout following spec recommendation for readable category
diff --git a/plots/point-basic/metadata/plotly.yaml b/plots/point-basic/metadata/plotly.yaml
index f09930aa5b..cf4c4ab142 100644
--- a/plots/point-basic/metadata/plotly.yaml
+++ b/plots/point-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/point-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal orientation matching spec recommendation for readability
diff --git a/plots/point-basic/metadata/plotnine.yaml b/plots/point-basic/metadata/plotnine.yaml
index c80834abdf..e646ac9731 100644
--- a/plots/point-basic/metadata/plotnine.yaml
+++ b/plots/point-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layer composition (vline
diff --git a/plots/point-basic/metadata/pygal.yaml b/plots/point-basic/metadata/pygal.yaml
index 57d2972695..2ccb58c8fe 100644
--- a/plots/point-basic/metadata/pygal.yaml
+++ b/plots/point-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/point-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal orientation matching spec recommendation for readable category
diff --git a/plots/point-basic/metadata/seaborn.yaml b/plots/point-basic/metadata/seaborn.yaml
index 0ef34f6796..825efb0b3d 100644
--- a/plots/point-basic/metadata/seaborn.yaml
+++ b/plots/point-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/point-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/point-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent horizontal orientation for category label readability as recommended
diff --git a/plots/polar-bar/metadata/altair.yaml b/plots/polar-bar/metadata/altair.yaml
index 5202ac5e27..956e405446 100644
--- a/plots/polar-bar/metadata/altair.yaml
+++ b/plots/polar-bar/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-bar/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of mark_arc for creating polar bar chart wedges with proper theta/theta2
diff --git a/plots/polar-bar/metadata/bokeh.yaml b/plots/polar-bar/metadata/bokeh.yaml
index b8405bd269..de3ac0b732 100644
--- a/plots/polar-bar/metadata/bokeh.yaml
+++ b/plots/polar-bar/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-bar/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - patches
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Bokeh wedge glyph to create authentic polar bars
diff --git a/plots/polar-bar/metadata/highcharts.yaml b/plots/polar-bar/metadata/highcharts.yaml
index 74042d9f7f..8d9708b6df 100644
--- a/plots/polar-bar/metadata/highcharts.yaml
+++ b/plots/polar-bar/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-bar/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent polar bar chart implementation with proper stacking for wind speed categories
diff --git a/plots/polar-bar/metadata/letsplot.yaml b/plots/polar-bar/metadata/letsplot.yaml
index 923669f164..87d1fee39c 100644
--- a/plots/polar-bar/metadata/letsplot.yaml
+++ b/plots/polar-bar/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-bar/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Correct polar bar/wind rose implementation using coord_polar
diff --git a/plots/polar-bar/metadata/matplotlib.yaml b/plots/polar-bar/metadata/matplotlib.yaml
index a2897809c8..1761bf5852 100644
--- a/plots/polar-bar/metadata/matplotlib.yaml
+++ b/plots/polar-bar/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent implementation of classic wind rose visualization with proper compass
diff --git a/plots/polar-bar/metadata/plotly.yaml b/plots/polar-bar/metadata/plotly.yaml
index 3084758a86..c9fa05e52f 100644
--- a/plots/polar-bar/metadata/plotly.yaml
+++ b/plots/polar-bar/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-bar/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent wind rose visualization with properly stacked bars for three wind speed
diff --git a/plots/polar-bar/metadata/plotnine.yaml b/plots/polar-bar/metadata/plotnine.yaml
index 264dbcaede..fc777c3cb0 100644
--- a/plots/polar-bar/metadata/plotnine.yaml
+++ b/plots/polar-bar/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual construction of polar coordinate system using geom_polygon wedges
diff --git a/plots/polar-bar/metadata/pygal.yaml b/plots/polar-bar/metadata/pygal.yaml
index b4d73a2abe..6287f9aa06 100644
--- a/plots/polar-bar/metadata/pygal.yaml
+++ b/plots/polar-bar/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-bar/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-bar/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-bar/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal Radar chart as the closest approximation to polar bar functionality
diff --git a/plots/polar-basic/metadata/altair.yaml b/plots/polar-basic/metadata/altair.yaml
index 5a589e1154..510d59f54b 100644
--- a/plots/polar-basic/metadata/altair.yaml
+++ b/plots/polar-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent polar coordinate simulation using Cartesian projection - creative workaround
diff --git a/plots/polar-basic/metadata/bokeh.yaml b/plots/polar-basic/metadata/bokeh.yaml
index a21f30e152..00f611ef13 100644
--- a/plots/polar-basic/metadata/bokeh.yaml
+++ b/plots/polar-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual polar coordinate transformation since Bokeh lacks native polar
diff --git a/plots/polar-basic/metadata/highcharts.yaml b/plots/polar-basic/metadata/highcharts.yaml
index 4f1b542975..d06005ee81 100644
--- a/plots/polar-basic/metadata/highcharts.yaml
+++ b/plots/polar-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts polar chart capability with proper configuration
diff --git a/plots/polar-basic/metadata/letsplot.yaml b/plots/polar-basic/metadata/letsplot.yaml
index 1259f4b4c4..ee979c0e67 100644
--- a/plots/polar-basic/metadata/letsplot.yaml
+++ b/plots/polar-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual implementation of polar coordinates with clear trigonometric
diff --git a/plots/polar-basic/metadata/matplotlib.yaml b/plots/polar-basic/metadata/matplotlib.yaml
index 7bcf757bc1..1f0626f060 100644
--- a/plots/polar-basic/metadata/matplotlib.yaml
+++ b/plots/polar-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of hourly temperature as a realistic application perfectly suited
diff --git a/plots/polar-basic/metadata/plotly.yaml b/plots/polar-basic/metadata/plotly.yaml
index bc541a4663..3598d6013c 100644
--- a/plots/polar-basic/metadata/plotly.yaml
+++ b/plots/polar-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of realistic hourly temperature data showing clear cyclical pattern
diff --git a/plots/polar-basic/metadata/plotnine.yaml b/plots/polar-basic/metadata/plotnine.yaml
index 680a1300d3..cc8d6d10e3 100644
--- a/plots/polar-basic/metadata/plotnine.yaml
+++ b/plots/polar-basic/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative solution for polar coordinates in plotnine by manually converting
diff --git a/plots/polar-basic/metadata/pygal.yaml b/plots/polar-basic/metadata/pygal.yaml
index 594f58c2e2..3171fa5d77 100644
--- a/plots/polar-basic/metadata/pygal.yaml
+++ b/plots/polar-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal Radar chart as polar-like visualization for cyclical data
diff --git a/plots/polar-basic/metadata/seaborn.yaml b/plots/polar-basic/metadata/seaborn.yaml
index 824a4f193d..a9a8621214 100644
--- a/plots/polar-basic/metadata/seaborn.yaml
+++ b/plots/polar-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - colorbar
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent data scenario using website traffic by hour which perfectly demonstrates
diff --git a/plots/polar-line/metadata/altair.yaml b/plots/polar-line/metadata/altair.yaml
index af322e11d6..38c088cd27 100644
--- a/plots/polar-line/metadata/altair.yaml
+++ b/plots/polar-line/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-line/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - normalization
+ styling: []
review:
strengths:
- Excellent creative workaround for Altair's lack of native polar coordinates by
diff --git a/plots/polar-line/metadata/bokeh.yaml b/plots/polar-line/metadata/bokeh.yaml
index c19f06fce3..d924f30e49 100644
--- a/plots/polar-line/metadata/bokeh.yaml
+++ b/plots/polar-line/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-line/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent simulation of polar coordinates in Bokeh (which lacks native polar support)
diff --git a/plots/polar-line/metadata/highcharts.yaml b/plots/polar-line/metadata/highcharts.yaml
index 6608162601..33ffa1045c 100644
--- a/plots/polar-line/metadata/highcharts.yaml
+++ b/plots/polar-line/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-line/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent choice of monthly temperature data to demonstrate cyclical polar line
diff --git a/plots/polar-line/metadata/letsplot.yaml b/plots/polar-line/metadata/letsplot.yaml
index c6c163cc26..86579b0d52 100644
--- a/plots/polar-line/metadata/letsplot.yaml
+++ b/plots/polar-line/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-line/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent polar coordinate implementation using manual Cartesian transformation
diff --git a/plots/polar-line/metadata/matplotlib.yaml b/plots/polar-line/metadata/matplotlib.yaml
index bc667c2c11..b98c875abe 100644
--- a/plots/polar-line/metadata/matplotlib.yaml
+++ b/plots/polar-line/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent choice of square format (12x12) which is ideal for polar coordinate
diff --git a/plots/polar-line/metadata/plotly.yaml b/plots/polar-line/metadata/plotly.yaml
index 728adbe7ae..b4812d30c8 100644
--- a/plots/polar-line/metadata/plotly.yaml
+++ b/plots/polar-line/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-line/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent data choice: hourly temperature pattern is a perfect real-world use
diff --git a/plots/polar-line/metadata/pygal.yaml b/plots/polar-line/metadata/pygal.yaml
index 6f65353a4f..89516b56ee 100644
--- a/plots/polar-line/metadata/pygal.yaml
+++ b/plots/polar-line/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-line/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent choice of monthly temperature data demonstrating cyclical patterns perfectly
diff --git a/plots/polar-line/metadata/seaborn.yaml b/plots/polar-line/metadata/seaborn.yaml
index d769de6b11..a9d2939d7e 100644
--- a/plots/polar-line/metadata/seaborn.yaml
+++ b/plots/polar-line/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-line/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-line/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color accessibility using seaborn colorblind palette (blue/orange contrast)
diff --git a/plots/polar-scatter/metadata/altair.yaml b/plots/polar-scatter/metadata/altair.yaml
index ef31a71f60..504208e521 100644
--- a/plots/polar-scatter/metadata/altair.yaml
+++ b/plots/polar-scatter/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ - layer-composition
+ - annotations
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of polar coordinates in Altair despite lack of native
diff --git a/plots/polar-scatter/metadata/bokeh.yaml b/plots/polar-scatter/metadata/bokeh.yaml
index 990518f575..e0108063e6 100644
--- a/plots/polar-scatter/metadata/bokeh.yaml
+++ b/plots/polar-scatter/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual construction of polar coordinate system in Bokeh (which lacks
@@ -24,20 +36,34 @@ review:
- Radius labels (5, 10, 15...) are small relative to other text elements
- Does not fully leverage Bokeh interactive capabilities (hover tooltips showing
exact angle/speed)
- image_description: |-
- The plot displays a polar scatter chart showing wind measurement data. The visualization features:
- - A circular polar coordinate system with concentric gridlines at intervals of 5, 10, 15, 20, 25, 30, 35, 40 m/s
+ image_description: 'The plot displays a polar scatter chart showing wind measurement
+ data. The visualization features:
+
+ - A circular polar coordinate system with concentric gridlines at intervals of
+ 5, 10, 15, 20, 25, 30, 35, 40 m/s
+
- Angular spokes at 30° intervals extending from the center
+
- Cardinal direction labels (N, S, E, W) in bold black text
+
- Intermediate directions (NE, NW, SE, SW) in gray text
- - Three categories of data points: Morning (blue), Afternoon (yellow), and Evening (red)
+
+ - Three categories of data points: Morning (blue), Afternoon (yellow), and Evening
+ (red)
+
- Blue morning points clustered in the NE quadrant showing prevailing wind direction
+
- Yellow afternoon points concentrated in the SW quadrant
+
- Red evening points scattered more uniformly around the center
+
- A legend on the right side showing Morning, Afternoon, and Evening categories
+
- Title "polar-scatter · bokeh · pyplots.ai" at the top
+
- "Wind Speed (m/s)" label below the S direction
- - Light gray background (#FAFAFA) with subtle grid lines
+
+ - Light gray background (#FAFAFA) with subtle grid lines'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/polar-scatter/metadata/highcharts.yaml b/plots/polar-scatter/metadata/highcharts.yaml
index 1d69f60823..0e4abd2a5e 100644
--- a/plots/polar-scatter/metadata/highcharts.yaml
+++ b/plots/polar-scatter/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/highcharts/plot.html
quality_score: 95
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - polar-projection
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of Highcharts polar chart with proper compass direction
diff --git a/plots/polar-scatter/metadata/letsplot.yaml b/plots/polar-scatter/metadata/letsplot.yaml
index 38cfaf388b..6ecb4e8d87 100644
--- a/plots/polar-scatter/metadata/letsplot.yaml
+++ b/plots/polar-scatter/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent polar coordinate implementation with proper compass direction labels
diff --git a/plots/polar-scatter/metadata/matplotlib.yaml b/plots/polar-scatter/metadata/matplotlib.yaml
index 0c49c24484..03421633e1 100644
--- a/plots/polar-scatter/metadata/matplotlib.yaml
+++ b/plots/polar-scatter/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of compass-style polar configuration (North at top, clockwise direction)
diff --git a/plots/polar-scatter/metadata/plotly.yaml b/plots/polar-scatter/metadata/plotly.yaml
index 0bf140c41c..9d5953622b 100644
--- a/plots/polar-scatter/metadata/plotly.yaml
+++ b/plots/polar-scatter/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent compass-oriented polar layout with North at top (rotation=90, clockwise
diff --git a/plots/polar-scatter/metadata/plotnine.yaml b/plots/polar-scatter/metadata/plotnine.yaml
index ccb3bf5a89..545b0ea677 100644
--- a/plots/polar-scatter/metadata/plotnine.yaml
+++ b/plots/polar-scatter/metadata/plotnine.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - layer-composition
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent creative implementation using Cartesian coordinates to simulate polar
diff --git a/plots/polar-scatter/metadata/seaborn.yaml b/plots/polar-scatter/metadata/seaborn.yaml
index e35b645bef..a2c7358f8e 100644
--- a/plots/polar-scatter/metadata/seaborn.yaml
+++ b/plots/polar-scatter/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/polar-scatter/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of polar coordinates with correct theta_zero_location
diff --git a/plots/precision-recall/metadata/altair.yaml b/plots/precision-recall/metadata/altair.yaml
index b32595f98d..51df684440 100644
--- a/plots/precision-recall/metadata/altair.yaml
+++ b/plots/precision-recall/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/precision-recall/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of stepped interpolation (step-after) which correctly represents
diff --git a/plots/precision-recall/metadata/bokeh.yaml b/plots/precision-recall/metadata/bokeh.yaml
index daa536c557..05af2e1128 100644
--- a/plots/precision-recall/metadata/bokeh.yaml
+++ b/plots/precision-recall/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/precision-recall/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - columndatasource
+ patterns:
+ - dataset-loading
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of stepped line style (mode="after") which accurately represents
diff --git a/plots/precision-recall/metadata/highcharts.yaml b/plots/precision-recall/metadata/highcharts.yaml
index 5ff1e06bf5..3ccdf9b456 100644
--- a/plots/precision-recall/metadata/highcharts.yaml
+++ b/plots/precision-recall/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/precision-recall/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual presentation with clear stepped area chart representation of
diff --git a/plots/precision-recall/metadata/letsplot.yaml b/plots/precision-recall/metadata/letsplot.yaml
index 6b75b243a6..46c1a1759c 100644
--- a/plots/precision-recall/metadata/letsplot.yaml
+++ b/plots/precision-recall/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/precision-recall/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of stepped line style for PR curve using manual step-wise
diff --git a/plots/precision-recall/metadata/matplotlib.yaml b/plots/precision-recall/metadata/matplotlib.yaml
index fcbc1a03c8..c7163cce36 100644
--- a/plots/precision-recall/metadata/matplotlib.yaml
+++ b/plots/precision-recall/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of stepped line style for precision-recall curve using
diff --git a/plots/precision-recall/metadata/plotly.yaml b/plots/precision-recall/metadata/plotly.yaml
index b4df5a1024..88ca1895ef 100644
--- a/plots/precision-recall/metadata/plotly.yaml
+++ b/plots/precision-recall/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/precision-recall/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of stepped line style (shape=hv) which accurately represents
diff --git a/plots/precision-recall/metadata/plotnine.yaml b/plots/precision-recall/metadata/plotnine.yaml
index 4c64035b02..b69ee121a7 100644
--- a/plots/precision-recall/metadata/plotnine.yaml
+++ b/plots/precision-recall/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-chosen colors (Python blue for curve, yellow
diff --git a/plots/precision-recall/metadata/pygal.yaml b/plots/precision-recall/metadata/pygal.yaml
index eb4ed7da9e..b7b5510d02 100644
--- a/plots/precision-recall/metadata/pygal.yaml
+++ b/plots/precision-recall/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/precision-recall/pygal/plot.html
quality_score: 95
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of stepped precision-recall curves showing threshold-based
diff --git a/plots/precision-recall/metadata/seaborn.yaml b/plots/precision-recall/metadata/seaborn.yaml
index c10257d198..0efe6b48cc 100644
--- a/plots/precision-recall/metadata/seaborn.yaml
+++ b/plots/precision-recall/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/precision-recal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/precision-recall/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized fonts and stepped line visualization
diff --git a/plots/pyramid-basic/metadata/altair.yaml b/plots/pyramid-basic/metadata/altair.yaml
index ea880b5d96..672591fa8d 100644
--- a/plots/pyramid-basic/metadata/altair.yaml
+++ b/plots/pyramid-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized text and colorblind-safe color scheme
diff --git a/plots/pyramid-basic/metadata/bokeh.yaml b/plots/pyramid-basic/metadata/bokeh.yaml
index 90e45851ea..1fa66d91bb 100644
--- a/plots/pyramid-basic/metadata/bokeh.yaml
+++ b/plots/pyramid-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent pyramid visualization with clear symmetric layout
diff --git a/plots/pyramid-basic/metadata/highcharts.yaml b/plots/pyramid-basic/metadata/highcharts.yaml
index bf7a4d5569..d14c131ec6 100644
--- a/plots/pyramid-basic/metadata/highcharts.yaml
+++ b/plots/pyramid-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of pyramid chart using Highcharts bar chart with negative
diff --git a/plots/pyramid-basic/metadata/letsplot.yaml b/plots/pyramid-basic/metadata/letsplot.yaml
index 9cad8b37e5..b88b908a40 100644
--- a/plots/pyramid-basic/metadata/letsplot.yaml
+++ b/plots/pyramid-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of the pyramid chart concept with proper symmetric axis
diff --git a/plots/pyramid-basic/metadata/matplotlib.yaml b/plots/pyramid-basic/metadata/matplotlib.yaml
index cc97beafb3..432f73d915 100644
--- a/plots/pyramid-basic/metadata/matplotlib.yaml
+++ b/plots/pyramid-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the pyramid chart concept with proper left-extending
diff --git a/plots/pyramid-basic/metadata/plotly.yaml b/plots/pyramid-basic/metadata/plotly.yaml
index 9b3e41b6af..51d3a6feb6 100644
--- a/plots/pyramid-basic/metadata/plotly.yaml
+++ b/plots/pyramid-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with clear pyramid shape and symmetric axis presentation
diff --git a/plots/pyramid-basic/metadata/plotnine.yaml b/plots/pyramid-basic/metadata/plotnine.yaml
index 9bac7766bc..9ce249237b 100644
--- a/plots/pyramid-basic/metadata/plotnine.yaml
+++ b/plots/pyramid-basic/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the pyramid chart using the negative-value technique
diff --git a/plots/pyramid-basic/metadata/pygal.yaml b/plots/pyramid-basic/metadata/pygal.yaml
index 76321c01df..846c6db4fd 100644
--- a/plots/pyramid-basic/metadata/pygal.yaml
+++ b/plots/pyramid-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal native Pyramid chart type for authentic population pyramid
diff --git a/plots/pyramid-basic/metadata/seaborn.yaml b/plots/pyramid-basic/metadata/seaborn.yaml
index 9803e59a3a..19de8b85f3 100644
--- a/plots/pyramid-basic/metadata/seaborn.yaml
+++ b/plots/pyramid-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/pyramid-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of population pyramid using seaborn barplot with hue
diff --git a/plots/qq-basic/metadata/altair.yaml b/plots/qq-basic/metadata/altair.yaml
index db28e180f4..4fc408ddd2 100644
--- a/plots/qq-basic/metadata/altair.yaml
+++ b/plots/qq-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/altair
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/qq-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of inverse normal CDF without scipy dependency (self-contained)
diff --git a/plots/qq-basic/metadata/bokeh.yaml b/plots/qq-basic/metadata/bokeh.yaml
index 4f117480e1..5fae745574 100644
--- a/plots/qq-basic/metadata/bokeh.yaml
+++ b/plots/qq-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/bokeh/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/qq-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent text sizing for 4800x2700 resolution with clear legibility at all levels
diff --git a/plots/qq-basic/metadata/highcharts.yaml b/plots/qq-basic/metadata/highcharts.yaml
index 870836af3c..2f7aeb898a 100644
--- a/plots/qq-basic/metadata/highcharts.yaml
+++ b/plots/qq-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/highch
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/qq-basic/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Good Q-Q plot implementation with clear visualization of quantile comparison
diff --git a/plots/qq-basic/metadata/letsplot.yaml b/plots/qq-basic/metadata/letsplot.yaml
index b05206dc1b..85182c8703 100644
--- a/plots/qq-basic/metadata/letsplot.yaml
+++ b/plots/qq-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/letspl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/qq-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent manual implementation of the inverse normal CDF (ppf) using Abramowitz
diff --git a/plots/qq-basic/metadata/matplotlib.yaml b/plots/qq-basic/metadata/matplotlib.yaml
index 3d3dfe3d9e..f8fd4b09b3 100644
--- a/plots/qq-basic/metadata/matplotlib.yaml
+++ b/plots/qq-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/matplo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual presentation with proper font sizes and element visibility
diff --git a/plots/qq-basic/metadata/plotly.yaml b/plots/qq-basic/metadata/plotly.yaml
index 61108fb442..b23c4d2b3d 100644
--- a/plots/qq-basic/metadata/plotly.yaml
+++ b/plots/qq-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/plotly
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/qq-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual presentation with proper font sizing for high-resolution output
diff --git a/plots/qq-basic/metadata/plotnine.yaml b/plots/qq-basic/metadata/plotnine.yaml
index 21aac49013..0f2e41c1c4 100644
--- a/plots/qq-basic/metadata/plotnine.yaml
+++ b/plots/qq-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/plotni
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Clean, professional visualization following ggplot2 grammar of graphics
diff --git a/plots/qq-basic/metadata/pygal.yaml b/plots/qq-basic/metadata/pygal.yaml
index cbbf9b21c1..7a3719cfa0 100644
--- a/plots/qq-basic/metadata/pygal.yaml
+++ b/plots/qq-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/pygal/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/qq-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the Beasley-Springer-Moro algorithm for calculating
diff --git a/plots/qq-basic/metadata/seaborn.yaml b/plots/qq-basic/metadata/seaborn.yaml
index ef36426deb..b8c55b8f86 100644
--- a/plots/qq-basic/metadata/seaborn.yaml
+++ b/plots/qq-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/qq-basic/seabor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/qq-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual quality with proper font sizes and colorblind-safe palette
diff --git a/plots/quiver-basic/metadata/altair.yaml b/plots/quiver-basic/metadata/altair.yaml
index c5bfdfcdbb..4b475b513b 100644
--- a/plots/quiver-basic/metadata/altair.yaml
+++ b/plots/quiver-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of quiver plot in Altair which does not have native arrow
diff --git a/plots/quiver-basic/metadata/bokeh.yaml b/plots/quiver-basic/metadata/bokeh.yaml
index 72db5cbe23..1689891789 100644
--- a/plots/quiver-basic/metadata/bokeh.yaml
+++ b/plots/quiver-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ patterns:
+ - columndatasource
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of quiver plot using Bokeh segment and patches primitives
diff --git a/plots/quiver-basic/metadata/highcharts.yaml b/plots/quiver-basic/metadata/highcharts.yaml
index ed7db9b13d..dfc4e7c756 100644
--- a/plots/quiver-basic/metadata/highcharts.yaml
+++ b/plots/quiver-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Creative implementation of quiver plot using line series with null separators
diff --git a/plots/quiver-basic/metadata/letsplot.yaml b/plots/quiver-basic/metadata/letsplot.yaml
index 174fc6839e..9da5394bb9 100644
--- a/plots/quiver-basic/metadata/letsplot.yaml
+++ b/plots/quiver-basic/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent circular rotation pattern clearly demonstrates the vector field concept
diff --git a/plots/quiver-basic/metadata/matplotlib.yaml b/plots/quiver-basic/metadata/matplotlib.yaml
index f2abc54343..2bde15e051 100644
--- a/plots/quiver-basic/metadata/matplotlib.yaml
+++ b/plots/quiver-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 99
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visualization of circular rotation pattern (u=-y, v=x) as suggested
diff --git a/plots/quiver-basic/metadata/plotly.yaml b/plots/quiver-basic/metadata/plotly.yaml
index e47da5dc92..3cd256ce6e 100644
--- a/plots/quiver-basic/metadata/plotly.yaml
+++ b/plots/quiver-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotly figure_factory.create_quiver for native quiver plot support
diff --git a/plots/quiver-basic/metadata/plotnine.yaml b/plots/quiver-basic/metadata/plotnine.yaml
index 9a22748a72..01cc8191ad 100644
--- a/plots/quiver-basic/metadata/plotnine.yaml
+++ b/plots/quiver-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of vector field using geom_segment with arrow aesthetics
diff --git a/plots/quiver-basic/metadata/pygal.yaml b/plots/quiver-basic/metadata/pygal.yaml
index df46e220af..c930f861e0 100644
--- a/plots/quiver-basic/metadata/pygal.yaml
+++ b/plots/quiver-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/pygal/plot.html
quality_score: 82
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Creative approach to simulate quiver plot using pygal XY chart with line segments
diff --git a/plots/quiver-basic/metadata/seaborn.yaml b/plots/quiver-basic/metadata/seaborn.yaml
index 88dafc4fbb..cff8b4105d 100644
--- a/plots/quiver-basic/metadata/seaborn.yaml
+++ b/plots/quiver-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/quiver-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent creative solution using sns.lineplot with units parameter to draw individual
diff --git a/plots/radar-basic/metadata/altair.yaml b/plots/radar-basic/metadata/altair.yaml
index a482ce5e22..984b7cb9f3 100644
--- a/plots/radar-basic/metadata/altair.yaml
+++ b/plots/radar-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - polar-projection
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of radar chart using Altair layered composition and geoshape
@@ -26,14 +38,25 @@ review:
- Only shows single series when spec allows 1-3 series for comparison
- Value range (70-90) is somewhat narrow; wider spread would better demonstrate
strengths and weaknesses
- image_description: |-
- The plot displays a hexagonal radar chart showing employee performance scores across 6 competencies. The chart uses a cohesive blue color scheme (#306998) with the following elements:
- - **Data polygon**: Blue filled area with ~25% transparency, clearly showing the performance profile
- - **Axes**: 6 spokes radiating from center for Communication (85), Technical Skills (90), Teamwork (75), Problem Solving (88), Leadership (70), and Creativity (82)
- - **Grid lines**: Hexagonal grid lines at 5 levels (20, 40, 60, 80, 100) with subtle gray color
- - **Labels**: Category labels positioned outside the chart, value labels near each data point
+ image_description: 'The plot displays a hexagonal radar chart showing employee performance
+ scores across 6 competencies. The chart uses a cohesive blue color scheme (#306998)
+ with the following elements:
+
+ - **Data polygon**: Blue filled area with ~25% transparency, clearly showing the
+ performance profile
+
+ - **Axes**: 6 spokes radiating from center for Communication (85), Technical Skills
+ (90), Teamwork (75), Problem Solving (88), Leadership (70), and Creativity (82)
+
+ - **Grid lines**: Hexagonal grid lines at 5 levels (20, 40, 60, 80, 100) with
+ subtle gray color
+
+ - **Labels**: Category labels positioned outside the chart, value labels near
+ each data point
+
- **Data points**: Solid blue circles at each vertex of the polygon
- - **Title**: "radar-basic · altair · pyplots.ai" at top in proper format
+
+ - **Title**: "radar-basic · altair · pyplots.ai" at top in proper format'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/radar-basic/metadata/bokeh.yaml b/plots/radar-basic/metadata/bokeh.yaml
index aa407105be..139000aa55 100644
--- a/plots/radar-basic/metadata/bokeh.yaml
+++ b/plots/radar-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent radar chart implementation with proper polar-to-cartesian coordinate
diff --git a/plots/radar-basic/metadata/highcharts.yaml b/plots/radar-basic/metadata/highcharts.yaml
index a0ea4ceb87..60707095cc 100644
--- a/plots/radar-basic/metadata/highcharts.yaml
+++ b/plots/radar-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-basic/highcharts/plot.html
quality_score: 99
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent radar chart with proper polar/spider chart implementation using Highcharts
diff --git a/plots/radar-basic/metadata/letsplot.yaml b/plots/radar-basic/metadata/letsplot.yaml
index 4cd743cfde..ad5378d016 100644
--- a/plots/radar-basic/metadata/letsplot.yaml
+++ b/plots/radar-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of radar chart using polar-to-cartesian coordinate transformation
diff --git a/plots/radar-basic/metadata/matplotlib.yaml b/plots/radar-basic/metadata/matplotlib.yaml
index 783295c12e..2da477225a 100644
--- a/plots/radar-basic/metadata/matplotlib.yaml
+++ b/plots/radar-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent application of radar chart for employee performance comparison - a textbook
diff --git a/plots/radar-basic/metadata/plotly.yaml b/plots/radar-basic/metadata/plotly.yaml
index f33c605011..5b20a6db7a 100644
--- a/plots/radar-basic/metadata/plotly.yaml
+++ b/plots/radar-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Plotly Scatterpolar for radar charts with proper fill and line
diff --git a/plots/radar-basic/metadata/plotnine.yaml b/plots/radar-basic/metadata/plotnine.yaml
index 8bee6f78cb..a5b694af6d 100644
--- a/plots/radar-basic/metadata/plotnine.yaml
+++ b/plots/radar-basic/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of radar chart using plotnine cartesian coordinates with
diff --git a/plots/radar-basic/metadata/pygal.yaml b/plots/radar-basic/metadata/pygal.yaml
index 1052a18e99..4387b20658 100644
--- a/plots/radar-basic/metadata/pygal.yaml
+++ b/plots/radar-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of employee performance comparison scenario matching specification
diff --git a/plots/radar-basic/metadata/seaborn.yaml b/plots/radar-basic/metadata/seaborn.yaml
index 57e90b9cc3..e1911cbcd6 100644
--- a/plots/radar-basic/metadata/seaborn.yaml
+++ b/plots/radar-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with properly sized text elements and appropriate use
diff --git a/plots/radar-multi/metadata/altair.yaml b/plots/radar-multi/metadata/altair.yaml
index ed0feaf33b..25384cd4c4 100644
--- a/plots/radar-multi/metadata/altair.yaml
+++ b/plots/radar-multi/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-multi/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - wide-to-long
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of radar chart using Altair layered approach with manual
diff --git a/plots/radar-multi/metadata/bokeh.yaml b/plots/radar-multi/metadata/bokeh.yaml
index 8a71277246..2b79088056 100644
--- a/plots/radar-multi/metadata/bokeh.yaml
+++ b/plots/radar-multi/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-multi/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the radar chart geometry using manual polygon construction
diff --git a/plots/radar-multi/metadata/highcharts.yaml b/plots/radar-multi/metadata/highcharts.yaml
index 99a96c17b6..5c885d1e61 100644
--- a/plots/radar-multi/metadata/highcharts.yaml
+++ b/plots/radar-multi/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-multi/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of multi-series radar chart using Highcharts polar mode
diff --git a/plots/radar-multi/metadata/letsplot.yaml b/plots/radar-multi/metadata/letsplot.yaml
index b24b43367a..92ed2c5997 100644
--- a/plots/radar-multi/metadata/letsplot.yaml
+++ b/plots/radar-multi/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-multi/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent radar chart construction using polar-to-cartesian coordinate transformation
diff --git a/plots/radar-multi/metadata/matplotlib.yaml b/plots/radar-multi/metadata/matplotlib.yaml
index e9f9626b1e..3f9a4314f8 100644
--- a/plots/radar-multi/metadata/matplotlib.yaml
+++ b/plots/radar-multi/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- 'Excellent data design showing three distinct product profiles with clear trade-offs
diff --git a/plots/radar-multi/metadata/plotly.yaml b/plots/radar-multi/metadata/plotly.yaml
index c1b068b723..522253b556 100644
--- a/plots/radar-multi/metadata/plotly.yaml
+++ b/plots/radar-multi/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-multi/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Plotly Scatterpolar trace with proper polygon closing technique
diff --git a/plots/radar-multi/metadata/plotnine.yaml b/plots/radar-multi/metadata/plotnine.yaml
index 88c1fcee0d..3847f51f2f 100644
--- a/plots/radar-multi/metadata/plotnine.yaml
+++ b/plots/radar-multi/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of radar chart using plotnine grammar of graphics by
diff --git a/plots/radar-multi/metadata/pygal.yaml b/plots/radar-multi/metadata/pygal.yaml
index 5f832b911a..148e759731 100644
--- a/plots/radar-multi/metadata/pygal.yaml
+++ b/plots/radar-multi/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/radar-multi/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent spec compliance with all required features implemented (filled polygons,
diff --git a/plots/radar-multi/metadata/seaborn.yaml b/plots/radar-multi/metadata/seaborn.yaml
index 1d2e501884..b2c8c31746 100644
--- a/plots/radar-multi/metadata/seaborn.yaml
+++ b/plots/radar-multi/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/radar-multi/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/radar-multi/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of the spec-compliant title format
diff --git a/plots/raincloud-basic/metadata/altair.yaml b/plots/raincloud-basic/metadata/altair.yaml
index fe71facb5c..4adeb98187 100644
--- a/plots/raincloud-basic/metadata/altair.yaml
+++ b/plots/raincloud-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent raincloud visualization with all three components (half-violin, boxplot,
diff --git a/plots/raincloud-basic/metadata/bokeh.yaml b/plots/raincloud-basic/metadata/bokeh.yaml
index ec40c70b33..5e5bd0cfa0 100644
--- a/plots/raincloud-basic/metadata/bokeh.yaml
+++ b/plots/raincloud-basic/metadata/bokeh.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - columndatasource
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of the raincloud metaphor with cloud above, boxplot in
diff --git a/plots/raincloud-basic/metadata/highcharts.yaml b/plots/raincloud-basic/metadata/highcharts.yaml
index a7d3820d15..cb7e61423f 100644
--- a/plots/raincloud-basic/metadata/highcharts.yaml
+++ b/plots/raincloud-basic/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - hover-tooltips
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent raincloud metaphor with cloud (KDE) clearly on right, boxplot centered,
diff --git a/plots/raincloud-basic/metadata/letsplot.yaml b/plots/raincloud-basic/metadata/letsplot.yaml
index 3e4a22a561..4058ad1103 100644
--- a/plots/raincloud-basic/metadata/letsplot.yaml
+++ b/plots/raincloud-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of the raincloud visual metaphor with cloud (half-violin)
@@ -26,16 +38,30 @@ review:
top-right or outside placement
- Jittered rain points are uniformly dark gray instead of matching condition colors,
which reduces visual cohesion
- image_description: |-
- The plot displays a raincloud visualization for three experimental conditions (Control, Treatment A, Treatment B) comparing reaction times in milliseconds. Each condition shows:
- - **Half-violin (cloud)**: Positioned on the right side of each category in distinct colors - blue for Control, yellow for Treatment A, and green for Treatment B
- - **Box plot**: White/gray boxplots centered-left showing median, quartiles, and whiskers
- - **Jittered points (rain)**: Dark gray scatter points positioned to the left of the boxplots
- - **Colors**: Blue (#306998), Yellow (#FFD43B), Green (#5BA85B) - colorblind-friendly palette
+ image_description: 'The plot displays a raincloud visualization for three experimental
+ conditions (Control, Treatment A, Treatment B) comparing reaction times in milliseconds.
+ Each condition shows:
+
+ - **Half-violin (cloud)**: Positioned on the right side of each category in distinct
+ colors - blue for Control, yellow for Treatment A, and green for Treatment B
+
+ - **Box plot**: White/gray boxplots centered-left showing median, quartiles, and
+ whiskers
+
+ - **Jittered points (rain)**: Dark gray scatter points positioned to the left
+ of the boxplots
+
+ - **Colors**: Blue (#306998), Yellow (#FFD43B), Green (#5BA85B) - colorblind-friendly
+ palette
+
- **Title**: "raincloud-basic · letsplot · pyplots.ai" at top
- - **Axes**: Y-axis "Reaction Time (ms)" ranging 200-700, X-axis "Experimental Condition"
+
+ - **Axes**: Y-axis "Reaction Time (ms)" ranging 200-700, X-axis "Experimental
+ Condition"
+
- **Legend**: Positioned in bottom-right showing condition colors
- - **Layout**: Clean minimal theme with subtle horizontal grid lines
+
+ - **Layout**: Clean minimal theme with subtle horizontal grid lines'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/raincloud-basic/metadata/matplotlib.yaml b/plots/raincloud-basic/metadata/matplotlib.yaml
index 24a04af91b..6bc28d39fb 100644
--- a/plots/raincloud-basic/metadata/matplotlib.yaml
+++ b/plots/raincloud-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of the raincloud visual metaphor with cloud (half-violin)
diff --git a/plots/raincloud-basic/metadata/plotly.yaml b/plots/raincloud-basic/metadata/plotly.yaml
index 6beda35c56..5b121b82bd 100644
--- a/plots/raincloud-basic/metadata/plotly.yaml
+++ b/plots/raincloud-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent demonstration of bimodal distribution in Treatment B - clearly visible
diff --git a/plots/raincloud-basic/metadata/plotnine.yaml b/plots/raincloud-basic/metadata/plotnine.yaml
index bdcf0eb051..080337740f 100644
--- a/plots/raincloud-basic/metadata/plotnine.yaml
+++ b/plots/raincloud-basic/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Correct raincloud layout with cloud on top, boxplot centered, and rain points
@@ -24,13 +36,25 @@ review:
- No legend showing color-to-condition mapping (relies solely on y-axis labels)
- Uses scipy for KDE instead of native plotnine density geoms (geom_violin with
half-violin trimming would be more idiomatic)
- image_description: |-
- The plot shows a horizontal raincloud visualization with three experimental conditions (Control, Treatment A, Treatment B) displayed vertically. Each condition has three components arranged from top to bottom:
- - **Cloud (half-violin/KDE)**: Blue for Control, Yellow for Treatment A, Green for Treatment B - positioned above the boxplot showing distribution density
- - **Boxplot**: White-filled narrow boxplots centered on each row showing median, quartiles, and whiskers
- - **Rain (jittered points)**: Scattered points below the boxplot in matching colors with moderate transparency
+ image_description: 'The plot shows a horizontal raincloud visualization with three
+ experimental conditions (Control, Treatment A, Treatment B) displayed vertically.
+ Each condition has three components arranged from top to bottom:
- The title "raincloud-basic · plotnine · pyplots.ai" appears at the top. X-axis shows "Reaction Time (ms)" ranging from ~300-600, Y-axis shows "Experimental Condition" with the three group labels. Treatment B clearly shows a bimodal distribution in both the cloud and rain points. The visual metaphor of "rain falling from clouds" is achieved correctly.
+ - **Cloud (half-violin/KDE)**: Blue for Control, Yellow for Treatment A, Green
+ for Treatment B - positioned above the boxplot showing distribution density
+
+ - **Boxplot**: White-filled narrow boxplots centered on each row showing median,
+ quartiles, and whiskers
+
+ - **Rain (jittered points)**: Scattered points below the boxplot in matching colors
+ with moderate transparency
+
+
+ The title "raincloud-basic · plotnine · pyplots.ai" appears at the top. X-axis
+ shows "Reaction Time (ms)" ranging from ~300-600, Y-axis shows "Experimental Condition"
+ with the three group labels. Treatment B clearly shows a bimodal distribution
+ in both the cloud and rain points. The visual metaphor of "rain falling from clouds"
+ is achieved correctly.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/raincloud-basic/metadata/pygal.yaml b/plots/raincloud-basic/metadata/pygal.yaml
index 48ecd89d53..38edd9b63c 100644
--- a/plots/raincloud-basic/metadata/pygal.yaml
+++ b/plots/raincloud-basic/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual implementation of raincloud plot using pygal XY chart primitives
diff --git a/plots/raincloud-basic/metadata/seaborn.yaml b/plots/raincloud-basic/metadata/seaborn.yaml
index eaede7fcdb..8f622b6d6a 100644
--- a/plots/raincloud-basic/metadata/seaborn.yaml
+++ b/plots/raincloud-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/raincloud-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent raincloud structure with correct cloud-right, rain-left layout matching
diff --git a/plots/residual-basic/metadata/altair.yaml b/plots/residual-basic/metadata/altair.yaml
index 23b335045a..93d18070a5 100644
--- a/plots/residual-basic/metadata/altair.yaml
+++ b/plots/residual-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Altair's transform_loess for the LOESS smoothed trend line -
diff --git a/plots/residual-basic/metadata/bokeh.yaml b/plots/residual-basic/metadata/bokeh.yaml
index 09b7fc3509..b4271aeb0c 100644
--- a/plots/residual-basic/metadata/bokeh.yaml
+++ b/plots/residual-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- 'Excellent use of Bokeh-specific features: ColumnDataSource, HoverTool with custom
diff --git a/plots/residual-basic/metadata/highcharts.yaml b/plots/residual-basic/metadata/highcharts.yaml
index cfc1bac44c..54eb50687d 100644
--- a/plots/residual-basic/metadata/highcharts.yaml
+++ b/plots/residual-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all spec requirements including zero reference line
diff --git a/plots/residual-basic/metadata/letsplot.yaml b/plots/residual-basic/metadata/letsplot.yaml
index df7c15c3ea..fdcaf93be2 100644
--- a/plots/residual-basic/metadata/letsplot.yaml
+++ b/plots/residual-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of core residual plot features including reference line
diff --git a/plots/residual-basic/metadata/matplotlib.yaml b/plots/residual-basic/metadata/matplotlib.yaml
index dede324df6..dd43797fd1 100644
--- a/plots/residual-basic/metadata/matplotlib.yaml
+++ b/plots/residual-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all spec requirements including y=0 reference line,
diff --git a/plots/residual-basic/metadata/plotly.yaml b/plots/residual-basic/metadata/plotly.yaml
index 0bbc1b022f..dad630f0e7 100644
--- a/plots/residual-basic/metadata/plotly.yaml
+++ b/plots/residual-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent heteroscedasticity visualization that demonstrates a key diagnostic
diff --git a/plots/residual-basic/metadata/plotnine.yaml b/plots/residual-basic/metadata/plotnine.yaml
index c70d5e17d4..175a0f2271 100644
--- a/plots/residual-basic/metadata/plotnine.yaml
+++ b/plots/residual-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all spec requirements including reference line at
diff --git a/plots/residual-basic/metadata/pygal.yaml b/plots/residual-basic/metadata/pygal.yaml
index 6331175df1..cbbce5dde5 100644
--- a/plots/residual-basic/metadata/pygal.yaml
+++ b/plots/residual-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Correct title format following the spec-id · library · pyplots.ai convention
diff --git a/plots/residual-plot/metadata/altair.yaml b/plots/residual-plot/metadata/altair.yaml
index aa307bb832..a3250250e0 100644
--- a/plots/residual-plot/metadata/altair.yaml
+++ b/plots/residual-plot/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-plot/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all specification requirements including zero reference
diff --git a/plots/residual-plot/metadata/bokeh.yaml b/plots/residual-plot/metadata/bokeh.yaml
index d613194973..064ac4be69 100644
--- a/plots/residual-plot/metadata/bokeh.yaml
+++ b/plots/residual-plot/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-plot/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Bokeh-specific features (Band, Span, Label, ColumnDataSource)
diff --git a/plots/residual-plot/metadata/highcharts.yaml b/plots/residual-plot/metadata/highcharts.yaml
index 3d1187b919..7db55abde8 100644
--- a/plots/residual-plot/metadata/highcharts.yaml
+++ b/plots/residual-plot/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-plot/highcharts/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all spec requirements including zero line, ±2σ threshold
diff --git a/plots/residual-plot/metadata/letsplot.yaml b/plots/residual-plot/metadata/letsplot.yaml
index 01184ea319..3e2ef7fa7f 100644
--- a/plots/residual-plot/metadata/letsplot.yaml
+++ b/plots/residual-plot/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-plot/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all spec requirements including y=0 reference line,
diff --git a/plots/residual-plot/metadata/matplotlib.yaml b/plots/residual-plot/metadata/matplotlib.yaml
index 8c13b5535a..93717dee15 100644
--- a/plots/residual-plot/metadata/matplotlib.yaml
+++ b/plots/residual-plot/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all spec requirements including reference line, ±2σ
diff --git a/plots/residual-plot/metadata/plotly.yaml b/plots/residual-plot/metadata/plotly.yaml
index f6fbdf7ea6..5b08964cc9 100644
--- a/plots/residual-plot/metadata/plotly.yaml
+++ b/plots/residual-plot/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-plot/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - rolling-window
+ styling:
+ - alpha-blending
review:
strengths:
- 'Excellent implementation of all key residual plot features: zero reference line,
diff --git a/plots/residual-plot/metadata/plotnine.yaml b/plots/residual-plot/metadata/plotnine.yaml
index e3727254f3..349033ff11 100644
--- a/plots/residual-plot/metadata/plotnine.yaml
+++ b/plots/residual-plot/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent implementation of all spec requirements: zero reference line, ±2σ bands,
diff --git a/plots/residual-plot/metadata/pygal.yaml b/plots/residual-plot/metadata/pygal.yaml
index 733f1c5cca..bddd26a4af 100644
--- a/plots/residual-plot/metadata/pygal.yaml
+++ b/plots/residual-plot/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/residual-plot/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all spec requirements including zero reference line,
diff --git a/plots/residual-plot/metadata/seaborn.yaml b/plots/residual-plot/metadata/seaborn.yaml
index 8e11fe1321..0f1d99a72f 100644
--- a/plots/residual-plot/metadata/seaborn.yaml
+++ b/plots/residual-plot/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/residual-plot/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/residual-plot/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of housing price prediction as a realistic regression context that
diff --git a/plots/ridgeline-basic/metadata/altair.yaml b/plots/ridgeline-basic/metadata/altair.yaml
index 6202b0353a..4f74616e13 100644
--- a/plots/ridgeline-basic/metadata/altair.yaml
+++ b/plots/ridgeline-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair transform_density and row faceting with negative spacing
diff --git a/plots/ridgeline-basic/metadata/bokeh.yaml b/plots/ridgeline-basic/metadata/bokeh.yaml
index 04af0541c0..8bdb819b41 100644
--- a/plots/ridgeline-basic/metadata/bokeh.yaml
+++ b/plots/ridgeline-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of manual KDE calculation with Silverman rule for bandwidth
diff --git a/plots/ridgeline-basic/metadata/highcharts.yaml b/plots/ridgeline-basic/metadata/highcharts.yaml
index 76b5761d9b..ea59b12da6 100644
--- a/plots/ridgeline-basic/metadata/highcharts.yaml
+++ b/plots/ridgeline-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - gradient-fill
review:
strengths:
- Excellent color scheme that smoothly transitions from cool winter blues to warm
diff --git a/plots/ridgeline-basic/metadata/letsplot.yaml b/plots/ridgeline-basic/metadata/letsplot.yaml
index 7ad3611ddb..25190a4766 100644
--- a/plots/ridgeline-basic/metadata/letsplot.yaml
+++ b/plots/ridgeline-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent use of lets-plot's native geom_area_ridges for true ridgeline visualization
diff --git a/plots/ridgeline-basic/metadata/matplotlib.yaml b/plots/ridgeline-basic/metadata/matplotlib.yaml
index 9a8abe1b89..bdb75c82bd 100644
--- a/plots/ridgeline-basic/metadata/matplotlib.yaml
+++ b/plots/ridgeline-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with viridis colormap providing both aesthetic appeal
diff --git a/plots/ridgeline-basic/metadata/plotly.yaml b/plots/ridgeline-basic/metadata/plotly.yaml
index 7a5114fa76..2921c1e36c 100644
--- a/plots/ridgeline-basic/metadata/plotly.yaml
+++ b/plots/ridgeline-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of manual KDE calculation using Silverman's rule for
diff --git a/plots/ridgeline-basic/metadata/plotnine.yaml b/plots/ridgeline-basic/metadata/plotnine.yaml
index 4636843e98..e02810ca93 100644
--- a/plots/ridgeline-basic/metadata/plotnine.yaml
+++ b/plots/ridgeline-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with meaningful cool-to-warm color gradient that reinforces
diff --git a/plots/ridgeline-basic/metadata/pygal.yaml b/plots/ridgeline-basic/metadata/pygal.yaml
index 5fc77963fc..0b75cd3df0 100644
--- a/plots/ridgeline-basic/metadata/pygal.yaml
+++ b/plots/ridgeline-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of ridgeline plot using pygal XY chart with filled polygons
diff --git a/plots/ridgeline-basic/metadata/seaborn.yaml b/plots/ridgeline-basic/metadata/seaborn.yaml
index d766316ffa..2aec384d41 100644
--- a/plots/ridgeline-basic/metadata/seaborn.yaml
+++ b/plots/ridgeline-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ridgeline-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with the coolwarm color gradient that intuitively maps
diff --git a/plots/roc-curve/metadata/altair.yaml b/plots/roc-curve/metadata/altair.yaml
index 480635ac5e..b87d57be6a 100644
--- a/plots/roc-curve/metadata/altair.yaml
+++ b/plots/roc-curve/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/roc-curve/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color scheme with blue/yellow/gray that is accessible and visually appealing
diff --git a/plots/roc-curve/metadata/bokeh.yaml b/plots/roc-curve/metadata/bokeh.yaml
index 22bbe91d77..99f03f57c4 100644
--- a/plots/roc-curve/metadata/bokeh.yaml
+++ b/plots/roc-curve/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/roc-curve/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with appropriate line widths and font sizes for the 3600x3600
diff --git a/plots/roc-curve/metadata/highcharts.yaml b/plots/roc-curve/metadata/highcharts.yaml
index 113d9c53ca..ade46ba0be 100644
--- a/plots/roc-curve/metadata/highcharts.yaml
+++ b/plots/roc-curve/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/roc-curve/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of AreaSeries with gradient fill to visually represent the AUC area
diff --git a/plots/roc-curve/metadata/letsplot.yaml b/plots/roc-curve/metadata/letsplot.yaml
index 4e2af3f539..3772780876 100644
--- a/plots/roc-curve/metadata/letsplot.yaml
+++ b/plots/roc-curve/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/roc-curve/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with properly sized text elements and colorblind-safe
@@ -24,12 +33,24 @@ review:
- Code contains a function definition (compute_roc) which violates the KISS principle
- should be inline calculations
- Grid alpha not explicitly set (could be more subtle)
- image_description: |-
- The plot displays an ROC curve visualization with three curves on a 16:9 aspect ratio canvas. The plot uses a clean minimal theme with a light gray grid. The title "roc-curve · letsplot · pyplots.ai" is displayed at the top. The X-axis shows "False Positive Rate" (0 to 1) and the Y-axis shows "True Positive Rate" (0 to 1). Three curves are shown:
- - **Model A (AUC = 0.97)** - Blue curve (#306998) showing excellent classifier performance, hugging the top-left corner
- - **Model B (AUC = 0.71)** - Yellow/gold curve (#FFD43B) showing moderate classifier performance
- - **Random (AUC = 0.50)** - Gray diagonal line (#888888) representing the random baseline
- The legend is positioned at the bottom with the label "Classifier". The plot has equal 1:1 aspect ratio for the axes (coord_fixed). All text is legible and appropriately sized. Lines are thick enough (size=2) to be clearly visible.
+ image_description: 'The plot displays an ROC curve visualization with three curves
+ on a 16:9 aspect ratio canvas. The plot uses a clean minimal theme with a light
+ gray grid. The title "roc-curve · letsplot · pyplots.ai" is displayed at the top.
+ The X-axis shows "False Positive Rate" (0 to 1) and the Y-axis shows "True Positive
+ Rate" (0 to 1). Three curves are shown:
+
+ - **Model A (AUC = 0.97)** - Blue curve (#306998) showing excellent classifier
+ performance, hugging the top-left corner
+
+ - **Model B (AUC = 0.71)** - Yellow/gold curve (#FFD43B) showing moderate classifier
+ performance
+
+ - **Random (AUC = 0.50)** - Gray diagonal line (#888888) representing the random
+ baseline
+
+ The legend is positioned at the bottom with the label "Classifier". The plot has
+ equal 1:1 aspect ratio for the axes (coord_fixed). All text is legible and appropriately
+ sized. Lines are thick enough (size=2) to be clearly visible.'
criteria_checklist:
visual_quality:
score: 38
diff --git a/plots/roc-curve/metadata/matplotlib.yaml b/plots/roc-curve/metadata/matplotlib.yaml
index ce018e749e..56d5507fa8 100644
--- a/plots/roc-curve/metadata/matplotlib.yaml
+++ b/plots/roc-curve/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with properly sized lines (linewidth=3.5) and readable
diff --git a/plots/roc-curve/metadata/plotly.yaml b/plots/roc-curve/metadata/plotly.yaml
index 51acb4c10d..bda6fe1d6b 100644
--- a/plots/roc-curve/metadata/plotly.yaml
+++ b/plots/roc-curve/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/roc-curve/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent visual clarity with well-chosen colors (blue #306998 and yellow #FFD43B)
diff --git a/plots/roc-curve/metadata/plotnine.yaml b/plots/roc-curve/metadata/plotnine.yaml
index 40688d653a..e033d1c32c 100644
--- a/plots/roc-curve/metadata/plotnine.yaml
+++ b/plots/roc-curve/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized text elements and line thickness
diff --git a/plots/roc-curve/metadata/pygal.yaml b/plots/roc-curve/metadata/pygal.yaml
index 4847b0cb6b..bda5660118 100644
--- a/plots/roc-curve/metadata/pygal.yaml
+++ b/plots/roc-curve/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/roc-curve/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent spec compliance with all required ROC curve features (diagonal reference,
diff --git a/plots/roc-curve/metadata/seaborn.yaml b/plots/roc-curve/metadata/seaborn.yaml
index b7e3f47147..a3b6b0358e 100644
--- a/plots/roc-curve/metadata/seaborn.yaml
+++ b/plots/roc-curve/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/roc-curve/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/roc-curve/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with properly sized text and well-contrasted line colors
diff --git a/plots/rose-basic/metadata/altair.yaml b/plots/rose-basic/metadata/altair.yaml
index 0627f5fd39..17b1d42b57 100644
--- a/plots/rose-basic/metadata/altair.yaml
+++ b/plots/rose-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rose-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Proper rose chart implementation with radial segments where radius represents
diff --git a/plots/rose-basic/metadata/bokeh.yaml b/plots/rose-basic/metadata/bokeh.yaml
index b0e1c58e89..926b58abf3 100644
--- a/plots/rose-basic/metadata/bokeh.yaml
+++ b/plots/rose-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rose-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of rose chart using Bokeh wedge glyph with correct angle
diff --git a/plots/rose-basic/metadata/highcharts.yaml b/plots/rose-basic/metadata/highcharts.yaml
index 6e5d569eb7..c65b9b859a 100644
--- a/plots/rose-basic/metadata/highcharts.yaml
+++ b/plots/rose-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rose-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts polar column configuration for rose chart
diff --git a/plots/rose-basic/metadata/letsplot.yaml b/plots/rose-basic/metadata/letsplot.yaml
index 3a284870ce..4282c3a5a0 100644
--- a/plots/rose-basic/metadata/letsplot.yaml
+++ b/plots/rose-basic/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rose-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent rose chart implementation using lets-plot coord_polar with geom_bar
diff --git a/plots/rose-basic/metadata/matplotlib.yaml b/plots/rose-basic/metadata/matplotlib.yaml
index 192acbb5c6..94e4b55e73 100644
--- a/plots/rose-basic/metadata/matplotlib.yaml
+++ b/plots/rose-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean polar bar implementation with proper theta direction (clockwise from north)
diff --git a/plots/rose-basic/metadata/plotly.yaml b/plots/rose-basic/metadata/plotly.yaml
index b94d65a735..261efb44e8 100644
--- a/plots/rose-basic/metadata/plotly.yaml
+++ b/plots/rose-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rose-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ - custom-colormap
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotly's barpolar trace type for creating the rose chart
diff --git a/plots/rose-basic/metadata/plotnine.yaml b/plots/rose-basic/metadata/plotnine.yaml
index fca156d1bf..1414b425fd 100644
--- a/plots/rose-basic/metadata/plotnine.yaml
+++ b/plots/rose-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of rose chart using plotnine polygon geometry approach
diff --git a/plots/rose-basic/metadata/pygal.yaml b/plots/rose-basic/metadata/pygal.yaml
index 520ec8ded7..12d6a3558b 100644
--- a/plots/rose-basic/metadata/pygal.yaml
+++ b/plots/rose-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rose-basic/pygal/plot.html
quality_score: 58
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent data choice with realistic Pacific Northwest rainfall pattern showing
diff --git a/plots/rose-basic/metadata/seaborn.yaml b/plots/rose-basic/metadata/seaborn.yaml
index 43f4f8b966..a9bb590c57 100644
--- a/plots/rose-basic/metadata/seaborn.yaml
+++ b/plots/rose-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rose-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rose-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ - annotations
+ - custom-colormap
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with well-chosen Blues gradient palette creating an intuitive
diff --git a/plots/rug-basic/metadata/altair.yaml b/plots/rug-basic/metadata/altair.yaml
index 27dbc8a3ba..74954fec99 100644
--- a/plots/rug-basic/metadata/altair.yaml
+++ b/plots/rug-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/altai
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rug-basic/altair/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent bimodal data choice that clearly demonstrates clustering patterns and
diff --git a/plots/rug-basic/metadata/bokeh.yaml b/plots/rug-basic/metadata/bokeh.yaml
index ddee0b164f..a3db321786 100644
--- a/plots/rug-basic/metadata/bokeh.yaml
+++ b/plots/rug-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/bokeh
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rug-basic/bokeh/plot.html
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean bimodal data that clearly demonstrates clustering and gaps in distributions
diff --git a/plots/rug-basic/metadata/highcharts.yaml b/plots/rug-basic/metadata/highcharts.yaml
index b20b058447..4cf70d5a65 100644
--- a/plots/rug-basic/metadata/highcharts.yaml
+++ b/plots/rug-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/highc
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rug-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with clean, uncluttered design - removed grid lines for
diff --git a/plots/rug-basic/metadata/letsplot.yaml b/plots/rug-basic/metadata/letsplot.yaml
index e09bf91ae8..d6d2c33d3b 100644
--- a/plots/rug-basic/metadata/letsplot.yaml
+++ b/plots/rug-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/letsp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rug-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent data design showing clusters, gaps, and outliers as specified
diff --git a/plots/rug-basic/metadata/matplotlib.yaml b/plots/rug-basic/metadata/matplotlib.yaml
index 4205d83a1c..b6f37579c2 100644
--- a/plots/rug-basic/metadata/matplotlib.yaml
+++ b/plots/rug-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/matpl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent demonstration of rug plot concept with trimodal data showing clustering
diff --git a/plots/rug-basic/metadata/plotly.yaml b/plots/rug-basic/metadata/plotly.yaml
index 07caac015e..83059062f6 100644
--- a/plots/rug-basic/metadata/plotly.yaml
+++ b/plots/rug-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/plotl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rug-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent bimodal data design clearly demonstrates clustering patterns and gaps
diff --git a/plots/rug-basic/metadata/plotnine.yaml b/plots/rug-basic/metadata/plotnine.yaml
index 98115a5a61..6e024aa754 100644
--- a/plots/rug-basic/metadata/plotnine.yaml
+++ b/plots/rug-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/plotn
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent data design showing three distinct clusters plus outliers, perfectly
diff --git a/plots/rug-basic/metadata/pygal.yaml b/plots/rug-basic/metadata/pygal.yaml
index 2d4cb6946e..ff77207b9d 100644
--- a/plots/rug-basic/metadata/pygal.yaml
+++ b/plots/rug-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/pygal
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/rug-basic/pygal/plot.html
quality_score: 85
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Creative use of pygal XY chart to simulate rug plot functionality
diff --git a/plots/rug-basic/metadata/seaborn.yaml b/plots/rug-basic/metadata/seaborn.yaml
index a35b8497bc..50bd052122 100644
--- a/plots/rug-basic/metadata/seaborn.yaml
+++ b/plots/rug-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/rug-basic/seabo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/rug-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent data design showing bimodal distribution with clear clustering patterns,
diff --git a/plots/sankey-basic/metadata/altair.yaml b/plots/sankey-basic/metadata/altair.yaml
index 48c3336439..4347ecc808 100644
--- a/plots/sankey-basic/metadata/altair.yaml
+++ b/plots/sankey-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual implementation of Sankey diagram using Altair primitive marks
diff --git a/plots/sankey-basic/metadata/bokeh.yaml b/plots/sankey-basic/metadata/bokeh.yaml
index 5819df36d5..26b5383114 100644
--- a/plots/sankey-basic/metadata/bokeh.yaml
+++ b/plots/sankey-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - annotations
+ patterns: []
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent custom implementation of Sankey diagram using Bokeh primitives (patches
diff --git a/plots/sankey-basic/metadata/highcharts.yaml b/plots/sankey-basic/metadata/highcharts.yaml
index 75943b5c63..32ee28ada3 100644
--- a/plots/sankey-basic/metadata/highcharts.yaml
+++ b/plots/sankey-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent real-world energy flow scenario with realistic TWh values
diff --git a/plots/sankey-basic/metadata/letsplot.yaml b/plots/sankey-basic/metadata/letsplot.yaml
index ffde977734..5bf48d2137 100644
--- a/plots/sankey-basic/metadata/letsplot.yaml
+++ b/plots/sankey-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - layer-composition
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual Sankey implementation using geom_polygon for smooth bezier flows
diff --git a/plots/sankey-basic/metadata/matplotlib.yaml b/plots/sankey-basic/metadata/matplotlib.yaml
index 3bb00c07e5..932bd0af96 100644
--- a/plots/sankey-basic/metadata/matplotlib.yaml
+++ b/plots/sankey-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns: []
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent use of matplotlib Sankey module with two connected diagrams showing
diff --git a/plots/sankey-basic/metadata/plotly.yaml b/plots/sankey-basic/metadata/plotly.yaml
index 7da7c67fe9..ff8b0b2cdd 100644
--- a/plots/sankey-basic/metadata/plotly.yaml
+++ b/plots/sankey-basic/metadata/plotly.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly go.Sankey with proper node/link configuration
diff --git a/plots/sankey-basic/metadata/plotnine.yaml b/plots/sankey-basic/metadata/plotnine.yaml
index c3496a4279..cc87e9ddbf 100644
--- a/plots/sankey-basic/metadata/plotnine.yaml
+++ b/plots/sankey-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - annotations
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent creative implementation of Sankey diagram using plotnine grammar of
diff --git a/plots/sankey-basic/metadata/seaborn.yaml b/plots/sankey-basic/metadata/seaborn.yaml
index 2fc2241093..24d34f1898 100644
--- a/plots/sankey-basic/metadata/seaborn.yaml
+++ b/plots/sankey-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sankey-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - custom-legend
+ patterns:
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent manual implementation of Sankey diagram using bezier curves for smooth
diff --git a/plots/scatter-3d/metadata/altair.yaml b/plots/scatter-3d/metadata/altair.yaml
index 41d78dabe5..4bd011771a 100644
--- a/plots/scatter-3d/metadata/altair.yaml
+++ b/plots/scatter-3d/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Creative isometric 3D projection technique that works excellently within Altair
diff --git a/plots/scatter-3d/metadata/bokeh.yaml b/plots/scatter-3d/metadata/bokeh.yaml
index 68b63155d8..3eb39179d8 100644
--- a/plots/scatter-3d/metadata/bokeh.yaml
+++ b/plots/scatter-3d/metadata/bokeh.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - patches
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent creative solution for 3D in a 2D library using isometric projection
diff --git a/plots/scatter-3d/metadata/highcharts.yaml b/plots/scatter-3d/metadata/highcharts.yaml
index 4c52c760dd..e2e8f3baef 100644
--- a/plots/scatter-3d/metadata/highcharts.yaml
+++ b/plots/scatter-3d/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - 3d-projection
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent title format following the required pattern with clear subtitle
diff --git a/plots/scatter-3d/metadata/letsplot.yaml b/plots/scatter-3d/metadata/letsplot.yaml
index 027b6022d4..8db7108ae3 100644
--- a/plots/scatter-3d/metadata/letsplot.yaml
+++ b/plots/scatter-3d/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep:
+ - normalization
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent isometric projection implementation with proper rotation angles and
diff --git a/plots/scatter-3d/metadata/matplotlib.yaml b/plots/scatter-3d/metadata/matplotlib.yaml
index 30032bd5c3..6732fac781 100644
--- a/plots/scatter-3d/metadata/matplotlib.yaml
+++ b/plots/scatter-3d/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - colorbar
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - custom-colormap
review:
strengths:
- Excellent scientific context using protein structure data with realistic Angstrom
diff --git a/plots/scatter-3d/metadata/plotly.yaml b/plots/scatter-3d/metadata/plotly.yaml
index 79fcffd0a1..0d488afcc2 100644
--- a/plots/scatter-3d/metadata/plotly.yaml
+++ b/plots/scatter-3d/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-3d/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly's Scatter3d with proper colorscale and colorbar
diff --git a/plots/scatter-animated-controls/metadata/altair.yaml b/plots/scatter-animated-controls/metadata/altair.yaml
index 189c5c73fd..bb9f2e2cb6 100644
--- a/plots/scatter-animated-controls/metadata/altair.yaml
+++ b/plots/scatter-animated-controls/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-animate
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent adaptation of animated concept to static faceted view, following spec
diff --git a/plots/scatter-animated-controls/metadata/bokeh.yaml b/plots/scatter-animated-controls/metadata/bokeh.yaml
index 4061a7a4b5..66e0db5bd7 100644
--- a/plots/scatter-animated-controls/metadata/bokeh.yaml
+++ b/plots/scatter-animated-controls/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-animate
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Gapminder-style animated visualization with all required
diff --git a/plots/scatter-animated-controls/metadata/highcharts.yaml b/plots/scatter-animated-controls/metadata/highcharts.yaml
index baf979a930..912acf7501 100644
--- a/plots/scatter-animated-controls/metadata/highcharts.yaml
+++ b/plots/scatter-animated-controls/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-animate
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Gapminder-style animation with play/pause and timeline
diff --git a/plots/scatter-animated-controls/metadata/letsplot.yaml b/plots/scatter-animated-controls/metadata/letsplot.yaml
index 9ea10c5ee8..24515fd51a 100644
--- a/plots/scatter-animated-controls/metadata/letsplot.yaml
+++ b/plots/scatter-animated-controls/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-animate
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/letsplot/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of Gapminder-style visualization with realistic country
diff --git a/plots/scatter-animated-controls/metadata/plotly.yaml b/plots/scatter-animated-controls/metadata/plotly.yaml
index 0bb591606b..a8bc1be1de 100644
--- a/plots/scatter-animated-controls/metadata/plotly.yaml
+++ b/plots/scatter-animated-controls/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-animate
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- 'Excellent Gapminder-style visualization with all key elements: play/pause controls,
diff --git a/plots/scatter-animated-controls/metadata/pygal.yaml b/plots/scatter-animated-controls/metadata/pygal.yaml
index 9e4c9f9546..6d2069208a 100644
--- a/plots/scatter-animated-controls/metadata/pygal.yaml
+++ b/plots/scatter-animated-controls/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-animate
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-animated-controls/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of Gapminder-style visualization with proper size encoding
diff --git a/plots/scatter-annotated/metadata/altair.yaml b/plots/scatter-annotated/metadata/altair.yaml
index 55e256e629..678bd871b1 100644
--- a/plots/scatter-annotated/metadata/altair.yaml
+++ b/plots/scatter-annotated/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - layer-composition
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text legibility with appropriate font sizes for high-resolution output
diff --git a/plots/scatter-annotated/metadata/bokeh.yaml b/plots/scatter-annotated/metadata/bokeh.yaml
index f4d587fa0a..34b7e8ca6d 100644
--- a/plots/scatter-annotated/metadata/bokeh.yaml
+++ b/plots/scatter-annotated/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent text sizing throughout - all elements perfectly legible at 4800x2700
diff --git a/plots/scatter-annotated/metadata/highcharts.yaml b/plots/scatter-annotated/metadata/highcharts.yaml
index dc21e7ffe2..17732afe89 100644
--- a/plots/scatter-annotated/metadata/highcharts.yaml
+++ b/plots/scatter-annotated/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- 'Excellent use of Highcharts dataLabels with allowOverlap: false to prevent label
diff --git a/plots/scatter-annotated/metadata/letsplot.yaml b/plots/scatter-annotated/metadata/letsplot.yaml
index 24c531828e..4abfca3e88 100644
--- a/plots/scatter-annotated/metadata/letsplot.yaml
+++ b/plots/scatter-annotated/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean, readable visualization with all 15 company labels clearly visible
diff --git a/plots/scatter-annotated/metadata/matplotlib.yaml b/plots/scatter-annotated/metadata/matplotlib.yaml
index 535a75537e..cc5f433f53 100644
--- a/plots/scatter-annotated/metadata/matplotlib.yaml
+++ b/plots/scatter-annotated/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent manual offset positioning for annotations prevents all label overlaps
diff --git a/plots/scatter-annotated/metadata/plotly.yaml b/plots/scatter-annotated/metadata/plotly.yaml
index 91fc71c1c3..87b677f973 100644
--- a/plots/scatter-annotated/metadata/plotly.yaml
+++ b/plots/scatter-annotated/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual annotation positioning with custom offsets for each company prevents
diff --git a/plots/scatter-annotated/metadata/plotnine.yaml b/plots/scatter-annotated/metadata/plotnine.yaml
index 1789f71643..9b21f876b9 100644
--- a/plots/scatter-annotated/metadata/plotnine.yaml
+++ b/plots/scatter-annotated/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent label placement with nudge_y preventing overlap
diff --git a/plots/scatter-annotated/metadata/pygal.yaml b/plots/scatter-annotated/metadata/pygal.yaml
index 3996450319..f302dd1e1e 100644
--- a/plots/scatter-annotated/metadata/pygal.yaml
+++ b/plots/scatter-annotated/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of individual series per company to achieve distinct colors for
diff --git a/plots/scatter-annotated/metadata/seaborn.yaml b/plots/scatter-annotated/metadata/seaborn.yaml
index 4c7ee7c2d1..030f375e2b 100644
--- a/plots/scatter-annotated/metadata/seaborn.yaml
+++ b/plots/scatter-annotated/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-annotat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-annotated/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - adjusttext
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of adjustText library for automatic label positioning with subtle
diff --git a/plots/scatter-basic/metadata/altair.yaml b/plots/scatter-basic/metadata/altair.yaml
index e063a0f0b0..881457624a 100644
--- a/plots/scatter-basic/metadata/altair.yaml
+++ b/plots/scatter-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean declarative Altair syntax with proper encoding types (:Q for quantitative)
diff --git a/plots/scatter-basic/metadata/bokeh.yaml b/plots/scatter-basic/metadata/bokeh.yaml
index b381a9e371..67406f64c8 100644
--- a/plots/scatter-basic/metadata/bokeh.yaml
+++ b/plots/scatter-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/bokeh/plot.html
quality_score: 85
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent text legibility with well-scaled font sizes for 4800x2700 canvas
diff --git a/plots/scatter-basic/metadata/highcharts.yaml b/plots/scatter-basic/metadata/highcharts.yaml
index 8467d3a797..4ae75bf5d9 100644
--- a/plots/scatter-basic/metadata/highcharts.yaml
+++ b/plots/scatter-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent text sizing scaled appropriately for 4800x2700 resolution (72px title,
diff --git a/plots/scatter-basic/metadata/letsplot.yaml b/plots/scatter-basic/metadata/letsplot.yaml
index a6814d2e62..196f571f6d 100644
--- a/plots/scatter-basic/metadata/letsplot.yaml
+++ b/plots/scatter-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/letsplot/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Clean ggplot2-style grammar of graphics implementation
diff --git a/plots/scatter-basic/metadata/matplotlib.yaml b/plots/scatter-basic/metadata/matplotlib.yaml
index 45f47a8a18..bed6dc74ee 100644
--- a/plots/scatter-basic/metadata/matplotlib.yaml
+++ b/plots/scatter-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent educational context (study hours vs exam scores) that is immediately
diff --git a/plots/scatter-basic/metadata/plotly.yaml b/plots/scatter-basic/metadata/plotly.yaml
index 4343316cc8..82321d97ae 100644
--- a/plots/scatter-basic/metadata/plotly.yaml
+++ b/plots/scatter-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent text legibility with properly sized fonts for 4800x2700 output
diff --git a/plots/scatter-basic/metadata/plotnine.yaml b/plots/scatter-basic/metadata/plotnine.yaml
index c2b4c7976e..f2e2a73a2c 100644
--- a/plots/scatter-basic/metadata/plotnine.yaml
+++ b/plots/scatter-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent text legibility with proper font sizing following library guidelines
diff --git a/plots/scatter-basic/metadata/pygal.yaml b/plots/scatter-basic/metadata/pygal.yaml
index 2dc5c42100..af064cda04 100644
--- a/plots/scatter-basic/metadata/pygal.yaml
+++ b/plots/scatter-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clean, professional appearance with well-calibrated font sizes for high-resolution
diff --git a/plots/scatter-basic/metadata/seaborn.yaml b/plots/scatter-basic/metadata/seaborn.yaml
index 920cce6ac0..435827a59a 100644
--- a/plots/scatter-basic/metadata/seaborn.yaml
+++ b/plots/scatter-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent visual presentation with properly sized text elements following the
diff --git a/plots/scatter-categorical/metadata/altair.yaml b/plots/scatter-categorical/metadata/altair.yaml
index ae2fe6581d..b9b3370c68 100644
--- a/plots/scatter-categorical/metadata/altair.yaml
+++ b/plots/scatter-categorical/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/altair/plot.html
quality_score: 100
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Perfect use of redundant encoding (color + shape) for maximum accessibility
diff --git a/plots/scatter-categorical/metadata/bokeh.yaml b/plots/scatter-categorical/metadata/bokeh.yaml
index 4b52fd11df..d1191aa64a 100644
--- a/plots/scatter-categorical/metadata/bokeh.yaml
+++ b/plots/scatter-categorical/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - alpha-blending
+ - edge-highlighting
+ - columndatasource
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing for the large canvas (48pt title, 36pt axis labels, 28pt
diff --git a/plots/scatter-categorical/metadata/highcharts.yaml b/plots/scatter-categorical/metadata/highcharts.yaml
index 58986e69c0..93c9c42076 100644
--- a/plots/scatter-categorical/metadata/highcharts.yaml
+++ b/plots/scatter-categorical/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - hover-tooltips
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-safe palette (blue/yellow/purple)
diff --git a/plots/scatter-categorical/metadata/matplotlib.yaml b/plots/scatter-categorical/metadata/matplotlib.yaml
index f4d30b3296..9c8bc9ba72 100644
--- a/plots/scatter-categorical/metadata/matplotlib.yaml
+++ b/plots/scatter-categorical/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of different marker shapes (circle, square, triangle) for additional
diff --git a/plots/scatter-categorical/metadata/plotly.yaml b/plots/scatter-categorical/metadata/plotly.yaml
index 00c800a2f4..58d422eee7 100644
--- a/plots/scatter-categorical/metadata/plotly.yaml
+++ b/plots/scatter-categorical/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ - alpha-blending
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color palette that is colorblind-accessible (blue, yellow, purple, green)
diff --git a/plots/scatter-categorical/metadata/plotnine.yaml b/plots/scatter-categorical/metadata/plotnine.yaml
index 5bdf09c3ca..836560dfab 100644
--- a/plots/scatter-categorical/metadata/plotnine.yaml
+++ b/plots/scatter-categorical/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing with all labels clearly readable at target resolution
diff --git a/plots/scatter-categorical/metadata/pygal.yaml b/plots/scatter-categorical/metadata/pygal.yaml
index e8ad978e09..5844ee02d1 100644
--- a/plots/scatter-categorical/metadata/pygal.yaml
+++ b/plots/scatter-categorical/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - alpha-blending
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Iris-like data providing a realistic, scientifically meaningful
diff --git a/plots/scatter-categorical/metadata/seaborn.yaml b/plots/scatter-categorical/metadata/seaborn.yaml
index 7204f1a46c..b4a8f58ea3 100644
--- a/plots/scatter-categorical/metadata/seaborn.yaml
+++ b/plots/scatter-categorical/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-categor
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-categorical/seaborn/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ - edge-highlighting
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of the Iris flower dataset context - classic, well-understood scientific
diff --git a/plots/scatter-color-mapped/metadata/altair.yaml b/plots/scatter-color-mapped/metadata/altair.yaml
index a781f013f1..3e67c93528 100644
--- a/plots/scatter-color-mapped/metadata/altair.yaml
+++ b/plots/scatter-color-mapped/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of viridis colormap for perceptual uniformity and colorblind accessibility
diff --git a/plots/scatter-color-mapped/metadata/bokeh.yaml b/plots/scatter-color-mapped/metadata/bokeh.yaml
index a9e1763dcc..88f549bfbd 100644
--- a/plots/scatter-color-mapped/metadata/bokeh.yaml
+++ b/plots/scatter-color-mapped/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Bokeh ColumnDataSource and color mapping system with LinearColorMapper
diff --git a/plots/scatter-color-mapped/metadata/highcharts.yaml b/plots/scatter-color-mapped/metadata/highcharts.yaml
index 531d4a55e1..38ce9af4d5 100644
--- a/plots/scatter-color-mapped/metadata/highcharts.yaml
+++ b/plots/scatter-color-mapped/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent viridis colormap implementation that is colorblind-safe
diff --git a/plots/scatter-color-mapped/metadata/letsplot.yaml b/plots/scatter-color-mapped/metadata/letsplot.yaml
index b8a05d39a2..06ea6a474c 100644
--- a/plots/scatter-color-mapped/metadata/letsplot.yaml
+++ b/plots/scatter-color-mapped/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of viridis colormap which is perceptually uniform and colorblind-accessible
diff --git a/plots/scatter-color-mapped/metadata/matplotlib.yaml b/plots/scatter-color-mapped/metadata/matplotlib.yaml
index 0b64de6f89..95adb2324a 100644
--- a/plots/scatter-color-mapped/metadata/matplotlib.yaml
+++ b/plots/scatter-color-mapped/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent use of viridis colormap with perceptually uniform color distribution
diff --git a/plots/scatter-color-mapped/metadata/plotly.yaml b/plots/scatter-color-mapped/metadata/plotly.yaml
index 4a70788705..104ff9417a 100644
--- a/plots/scatter-color-mapped/metadata/plotly.yaml
+++ b/plots/scatter-color-mapped/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent use of Viridis colormap with clear colorbar labeling including units
diff --git a/plots/scatter-color-mapped/metadata/plotnine.yaml b/plots/scatter-color-mapped/metadata/plotnine.yaml
index 018ab439f2..5d6e50ebe2 100644
--- a/plots/scatter-color-mapped/metadata/plotnine.yaml
+++ b/plots/scatter-color-mapped/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/plotnine/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of viridis colormap for colorblind accessibility and perceptual
diff --git a/plots/scatter-color-mapped/metadata/pygal.yaml b/plots/scatter-color-mapped/metadata/pygal.yaml
index 29cd20b0d3..925436cf17 100644
--- a/plots/scatter-color-mapped/metadata/pygal.yaml
+++ b/plots/scatter-color-mapped/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - binning
+ styling: []
review:
strengths:
- Effective workaround for pygal lack of continuous colormap by using discrete temperature
diff --git a/plots/scatter-color-mapped/metadata/seaborn.yaml b/plots/scatter-color-mapped/metadata/seaborn.yaml
index c33aec1383..4d9f1d9867 100644
--- a/plots/scatter-color-mapped/metadata/seaborn.yaml
+++ b/plots/scatter-color-mapped/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-color-m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-color-mapped/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with proper font sizes and colorblind-safe viridis palette
diff --git a/plots/scatter-marginal/metadata/altair.yaml b/plots/scatter-marginal/metadata/altair.yaml
index 82cc765020..f14dad2bd4 100644
--- a/plots/scatter-marginal/metadata/altair.yaml
+++ b/plots/scatter-marginal/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent compositional layout using vconcat/hconcat for proper marginal plot
diff --git a/plots/scatter-marginal/metadata/bokeh.yaml b/plots/scatter-marginal/metadata/bokeh.yaml
index 7583ef23c6..4fac2401c9 100644
--- a/plots/scatter-marginal/metadata/bokeh.yaml
+++ b/plots/scatter-marginal/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ patterns:
+ - columndatasource
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - binning
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent axis alignment between scatter and marginal plots using shared x_range/y_range
diff --git a/plots/scatter-marginal/metadata/highcharts.yaml b/plots/scatter-marginal/metadata/highcharts.yaml
index 4cb8ccbd21..884a09639d 100644
--- a/plots/scatter-marginal/metadata/highcharts.yaml
+++ b/plots/scatter-marginal/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - binning
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent axis alignment between main scatter and marginal histograms
diff --git a/plots/scatter-marginal/metadata/letsplot.yaml b/plots/scatter-marginal/metadata/letsplot.yaml
index bddcf80605..4d78a83b09 100644
--- a/plots/scatter-marginal/metadata/letsplot.yaml
+++ b/plots/scatter-marginal/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/letsplot/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of ggbunch to combine three separate plots into a cohesive composite
diff --git a/plots/scatter-marginal/metadata/matplotlib.yaml b/plots/scatter-marginal/metadata/matplotlib.yaml
index d06d572347..8f12e6cda5 100644
--- a/plots/scatter-marginal/metadata/matplotlib.yaml
+++ b/plots/scatter-marginal/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent GridSpec layout with proper axis alignment between main scatter and
diff --git a/plots/scatter-marginal/metadata/plotly.yaml b/plots/scatter-marginal/metadata/plotly.yaml
index 15c68ea3d3..913955e75f 100644
--- a/plots/scatter-marginal/metadata/plotly.yaml
+++ b/plots/scatter-marginal/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of plotly.express built-in marginal distribution feature (px.scatter
diff --git a/plots/scatter-marginal/metadata/plotnine.yaml b/plots/scatter-marginal/metadata/plotnine.yaml
index 8cc5aa89a3..4684c840a9 100644
--- a/plots/scatter-marginal/metadata/plotnine.yaml
+++ b/plots/scatter-marginal/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of plotnine composition API with | and / operators for arranging
diff --git a/plots/scatter-marginal/metadata/pygal.yaml b/plots/scatter-marginal/metadata/pygal.yaml
index c4ff484e73..258e65edf6 100644
--- a/plots/scatter-marginal/metadata/pygal.yaml
+++ b/plots/scatter-marginal/metadata/pygal.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - subplots
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - binning
+ styling:
+ - alpha-blending
review:
strengths:
- Creative solution using pygal chart compositing with PIL to achieve marginal distributions
diff --git a/plots/scatter-marginal/metadata/seaborn.yaml b/plots/scatter-marginal/metadata/seaborn.yaml
index eab934cfdd..3eb7a4e0cf 100644
--- a/plots/scatter-marginal/metadata/seaborn.yaml
+++ b/plots/scatter-marginal/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-margina
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-marginal/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of seaborn jointplot for this plot type, which is specifically designed
diff --git a/plots/scatter-matrix/metadata/altair.yaml b/plots/scatter-matrix/metadata/altair.yaml
index 12f8523b4c..c62ff5fffe 100644
--- a/plots/scatter-matrix/metadata/altair.yaml
+++ b/plots/scatter-matrix/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/altair/plot.html
quality_score: 85
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair's declarative repeat() pattern for idiomatic SPLOM construction
diff --git a/plots/scatter-matrix/metadata/bokeh.yaml b/plots/scatter-matrix/metadata/bokeh.yaml
index b4514df632..4e44328133 100644
--- a/plots/scatter-matrix/metadata/bokeh.yaml
+++ b/plots/scatter-matrix/metadata/bokeh.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent use of Bokeh ColumnDataSource and factor_cmap for color mapping by species
diff --git a/plots/scatter-matrix/metadata/highcharts.yaml b/plots/scatter-matrix/metadata/highcharts.yaml
index 59f95b89e4..94b621e243 100644
--- a/plots/scatter-matrix/metadata/highcharts.yaml
+++ b/plots/scatter-matrix/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent colorblind-safe color palette (blue/yellow/purple) for clear species
diff --git a/plots/scatter-matrix/metadata/letsplot.yaml b/plots/scatter-matrix/metadata/letsplot.yaml
index f381236c3e..7361e88321 100644
--- a/plots/scatter-matrix/metadata/letsplot.yaml
+++ b/plots/scatter-matrix/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Clean 4×4 matrix layout with proper use of ggbunch for combining individual plots
diff --git a/plots/scatter-matrix/metadata/matplotlib.yaml b/plots/scatter-matrix/metadata/matplotlib.yaml
index df79b5b076..e94dcd00e3 100644
--- a/plots/scatter-matrix/metadata/matplotlib.yaml
+++ b/plots/scatter-matrix/metadata/matplotlib.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent implementation of the scatter plot matrix with clear visual separation
diff --git a/plots/scatter-matrix/metadata/plotly.yaml b/plots/scatter-matrix/metadata/plotly.yaml
index c6649dd0df..5ba47527de 100644
--- a/plots/scatter-matrix/metadata/plotly.yaml
+++ b/plots/scatter-matrix/metadata/plotly.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent implementation of the scatter plot matrix with histograms on diagonal
diff --git a/plots/scatter-matrix/metadata/plotnine.yaml b/plots/scatter-matrix/metadata/plotnine.yaml
index 6f50da5bf0..c50b9d5d0c 100644
--- a/plots/scatter-matrix/metadata/plotnine.yaml
+++ b/plots/scatter-matrix/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ patterns:
+ - data-generation
+ - wide-to-long
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent implementation of scatter matrix using plotnine facet_grid approach
diff --git a/plots/scatter-matrix/metadata/pygal.yaml b/plots/scatter-matrix/metadata/pygal.yaml
index 7f5a59f879..767751d513 100644
--- a/plots/scatter-matrix/metadata/pygal.yaml
+++ b/plots/scatter-matrix/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Creative solution using PIL composite to build a scatter matrix from individual
diff --git a/plots/scatter-matrix/metadata/seaborn.yaml b/plots/scatter-matrix/metadata/seaborn.yaml
index aeb1d393d7..435e19b5a9 100644
--- a/plots/scatter-matrix/metadata/seaborn.yaml
+++ b/plots/scatter-matrix/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-matrix/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent use of seaborn pairplot function, which is specifically designed for
diff --git a/plots/scatter-regression-linear/metadata/altair.yaml b/plots/scatter-regression-linear/metadata/altair.yaml
index 6d137748b2..0392da1e5e 100644
--- a/plots/scatter-regression-linear/metadata/altair.yaml
+++ b/plots/scatter-regression-linear/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of all spec requirements including R², regression equation,
diff --git a/plots/scatter-regression-linear/metadata/bokeh.yaml b/plots/scatter-regression-linear/metadata/bokeh.yaml
index 7622d78165..1b1446c27f 100644
--- a/plots/scatter-regression-linear/metadata/bokeh.yaml
+++ b/plots/scatter-regression-linear/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- 'Excellent implementation of all spec requirements: regression line, confidence
diff --git a/plots/scatter-regression-linear/metadata/highcharts.yaml b/plots/scatter-regression-linear/metadata/highcharts.yaml
index c73b9d0a51..8eb6d2b2b1 100644
--- a/plots/scatter-regression-linear/metadata/highcharts.yaml
+++ b/plots/scatter-regression-linear/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/highcharts/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual design with proper font scaling for 4800x2700 resolution
diff --git a/plots/scatter-regression-linear/metadata/letsplot.yaml b/plots/scatter-regression-linear/metadata/letsplot.yaml
index 6f789e9929..c7bff3e6bb 100644
--- a/plots/scatter-regression-linear/metadata/letsplot.yaml
+++ b/plots/scatter-regression-linear/metadata/letsplot.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- 'Excellent implementation of all spec requirements: regression line, 95% CI band,
diff --git a/plots/scatter-regression-linear/metadata/matplotlib.yaml b/plots/scatter-regression-linear/metadata/matplotlib.yaml
index be8c6d7a60..6238ab68c5 100644
--- a/plots/scatter-regression-linear/metadata/matplotlib.yaml
+++ b/plots/scatter-regression-linear/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent visual design with clear contrast between scatter points, regression
diff --git a/plots/scatter-regression-linear/metadata/plotly.yaml b/plots/scatter-regression-linear/metadata/plotly.yaml
index b404d1cf56..c25cde7b77 100644
--- a/plots/scatter-regression-linear/metadata/plotly.yaml
+++ b/plots/scatter-regression-linear/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of confidence interval band using polygon fill technique
diff --git a/plots/scatter-regression-linear/metadata/plotnine.yaml b/plots/scatter-regression-linear/metadata/plotnine.yaml
index 46d840c85f..aed0d60c45 100644
--- a/plots/scatter-regression-linear/metadata/plotnine.yaml
+++ b/plots/scatter-regression-linear/metadata/plotnine.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - annotations
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of plotnine geom_smooth(method="lm", se=True) for built-in regression
diff --git a/plots/scatter-regression-linear/metadata/pygal.yaml b/plots/scatter-regression-linear/metadata/pygal.yaml
index 2f97baa885..1045ae6f16 100644
--- a/plots/scatter-regression-linear/metadata/pygal.yaml
+++ b/plots/scatter-regression-linear/metadata/pygal.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of the confidence interval band using polygon fill technique
diff --git a/plots/scatter-regression-linear/metadata/seaborn.yaml b/plots/scatter-regression-linear/metadata/seaborn.yaml
index 47d7bb7904..785e29a4d4 100644
--- a/plots/scatter-regression-linear/metadata/seaborn.yaml
+++ b/plots/scatter-regression-linear/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-linear/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of seaborn regplot function with built-in confidence interval
diff --git a/plots/scatter-regression-lowess/metadata/altair.yaml b/plots/scatter-regression-lowess/metadata/altair.yaml
index 9858342231..475b38efd0 100644
--- a/plots/scatter-regression-lowess/metadata/altair.yaml
+++ b/plots/scatter-regression-lowess/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with properly sized text elements and good color contrast
diff --git a/plots/scatter-regression-lowess/metadata/bokeh.yaml b/plots/scatter-regression-lowess/metadata/bokeh.yaml
index ac5e7ec3cf..e976963db3 100644
--- a/plots/scatter-regression-lowess/metadata/bokeh.yaml
+++ b/plots/scatter-regression-lowess/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent biological data example (enzyme activity curve) that perfectly demonstrates
diff --git a/plots/scatter-regression-lowess/metadata/highcharts.yaml b/plots/scatter-regression-lowess/metadata/highcharts.yaml
index 048f5a190d..4e3d81c052 100644
--- a/plots/scatter-regression-lowess/metadata/highcharts.yaml
+++ b/plots/scatter-regression-lowess/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent color contrast with colorblind-safe blue/yellow combination
diff --git a/plots/scatter-regression-lowess/metadata/letsplot.yaml b/plots/scatter-regression-lowess/metadata/letsplot.yaml
index 7dd2efffa4..b1c1b6e748 100644
--- a/plots/scatter-regression-lowess/metadata/letsplot.yaml
+++ b/plots/scatter-regression-lowess/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - gradient-fill
review:
strengths:
- Excellent LOWESS implementation using geom_smooth with loess method and confidence
diff --git a/plots/scatter-regression-lowess/metadata/matplotlib.yaml b/plots/scatter-regression-lowess/metadata/matplotlib.yaml
index 8e2de64646..c7d8f62874 100644
--- a/plots/scatter-regression-lowess/metadata/matplotlib.yaml
+++ b/plots/scatter-regression-lowess/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/matplotlib/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent visualization of LOWESS smoothing on complex non-linear data (sine +
diff --git a/plots/scatter-regression-lowess/metadata/plotly.yaml b/plots/scatter-regression-lowess/metadata/plotly.yaml
index c081516f35..3292d58d5c 100644
--- a/plots/scatter-regression-lowess/metadata/plotly.yaml
+++ b/plots/scatter-regression-lowess/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of LOWESS algorithm from scratch with proper tricube
diff --git a/plots/scatter-regression-lowess/metadata/plotnine.yaml b/plots/scatter-regression-lowess/metadata/plotnine.yaml
index 6631130976..9d38c7d2c9 100644
--- a/plots/scatter-regression-lowess/metadata/plotnine.yaml
+++ b/plots/scatter-regression-lowess/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent choice of agricultural context (temperature vs crop yield) that naturally
diff --git a/plots/scatter-regression-lowess/metadata/pygal.yaml b/plots/scatter-regression-lowess/metadata/pygal.yaml
index 1eb12c026b..149e95d6a6 100644
--- a/plots/scatter-regression-lowess/metadata/pygal.yaml
+++ b/plots/scatter-regression-lowess/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- LOWESS curve is visually distinct from scatter points with good color contrast
diff --git a/plots/scatter-regression-lowess/metadata/seaborn.yaml b/plots/scatter-regression-lowess/metadata/seaborn.yaml
index 7e11a75419..327ab26062 100644
--- a/plots/scatter-regression-lowess/metadata/seaborn.yaml
+++ b/plots/scatter-regression-lowess/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-lowess/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of seaborn regplot with lowess=True for the canonical LOWESS implementation
diff --git a/plots/scatter-regression-polynomial/metadata/altair.yaml b/plots/scatter-regression-polynomial/metadata/altair.yaml
index 6065016913..9c3c06f05c 100644
--- a/plots/scatter-regression-polynomial/metadata/altair.yaml
+++ b/plots/scatter-regression-polynomial/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling: []
review:
strengths:
- Excellent R² and equation annotation implementation using separate text marks
diff --git a/plots/scatter-regression-polynomial/metadata/bokeh.yaml b/plots/scatter-regression-polynomial/metadata/bokeh.yaml
index 748139c197..76f44dddb1 100644
--- a/plots/scatter-regression-polynomial/metadata/bokeh.yaml
+++ b/plots/scatter-regression-polynomial/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep:
+ - regression
+ styling:
+ - grid-styling
review:
strengths:
- Excellent real-world scenario (manufacturing efficiency with diminishing returns)
diff --git a/plots/scatter-regression-polynomial/metadata/highcharts.yaml b/plots/scatter-regression-polynomial/metadata/highcharts.yaml
index 5e26602b29..6e81a4652c 100644
--- a/plots/scatter-regression-polynomial/metadata/highcharts.yaml
+++ b/plots/scatter-regression-polynomial/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/highcharts/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling: []
review:
strengths:
- Excellent implementation of polynomial regression with R² and equation display
diff --git a/plots/scatter-regression-polynomial/metadata/letsplot.yaml b/plots/scatter-regression-polynomial/metadata/letsplot.yaml
index 5d87a9d5b5..522f84798a 100644
--- a/plots/scatter-regression-polynomial/metadata/letsplot.yaml
+++ b/plots/scatter-regression-polynomial/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - grid-styling
review:
strengths:
- Excellent real-world economics example (advertising diminishing returns) that
diff --git a/plots/scatter-regression-polynomial/metadata/matplotlib.yaml b/plots/scatter-regression-polynomial/metadata/matplotlib.yaml
index baa749fd71..821ec18d08 100644
--- a/plots/scatter-regression-polynomial/metadata/matplotlib.yaml
+++ b/plots/scatter-regression-polynomial/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of polynomial regression with R² calculation using numpy
diff --git a/plots/scatter-regression-polynomial/metadata/plotly.yaml b/plots/scatter-regression-polynomial/metadata/plotly.yaml
index 319cb78e9b..2390b69012 100644
--- a/plots/scatter-regression-polynomial/metadata/plotly.yaml
+++ b/plots/scatter-regression-polynomial/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling: []
review:
strengths:
- Excellent real-world example of diminishing returns in advertising economics
diff --git a/plots/scatter-regression-polynomial/metadata/plotnine.yaml b/plots/scatter-regression-polynomial/metadata/plotnine.yaml
index 39e29d0304..4d0fdfd295 100644
--- a/plots/scatter-regression-polynomial/metadata/plotnine.yaml
+++ b/plots/scatter-regression-polynomial/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/plotnine/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling:
+ - grid-styling
review:
strengths:
- Excellent real-world scenario demonstrating energy consumption vs temperature
diff --git a/plots/scatter-regression-polynomial/metadata/pygal.yaml b/plots/scatter-regression-polynomial/metadata/pygal.yaml
index e0778ec31f..136db1d81c 100644
--- a/plots/scatter-regression-polynomial/metadata/pygal.yaml
+++ b/plots/scatter-regression-polynomial/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - regression
+ styling: []
review:
strengths:
- Clear polynomial regression curve showing diminishing returns pattern
diff --git a/plots/scatter-regression-polynomial/metadata/seaborn.yaml b/plots/scatter-regression-polynomial/metadata/seaborn.yaml
index 186cd5acd9..75df194e2f 100644
--- a/plots/scatter-regression-polynomial/metadata/seaborn.yaml
+++ b/plots/scatter-regression-polynomial/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/scatter-regress
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/scatter-regression-polynomial/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - regression
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent implementation of polynomial regression with R² and equation annotation
diff --git a/plots/shap-summary/metadata/altair.yaml b/plots/shap-summary/metadata/altair.yaml
index 38fbd2cd6a..f30acea1e6 100644
--- a/plots/shap-summary/metadata/altair.yaml
+++ b/plots/shap-summary/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/shap-summary/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/shap-summary/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/shap-summary/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of SHAP summary plot matching specification requirements
diff --git a/plots/shap-summary/metadata/highcharts.yaml b/plots/shap-summary/metadata/highcharts.yaml
index b3846cad67..f691944be0 100644
--- a/plots/shap-summary/metadata/highcharts.yaml
+++ b/plots/shap-summary/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/shap-summary/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/shap-summary/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/shap-summary/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of SHAP summary plot using scatter series with color-coded
diff --git a/plots/shap-summary/metadata/letsplot.yaml b/plots/shap-summary/metadata/letsplot.yaml
index c8f1c3a40c..0aeeca782a 100644
--- a/plots/shap-summary/metadata/letsplot.yaml
+++ b/plots/shap-summary/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/shap-summary/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/shap-summary/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/shap-summary/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of SHAP summary plot with proper feature importance ordering
diff --git a/plots/shap-summary/metadata/matplotlib.yaml b/plots/shap-summary/metadata/matplotlib.yaml
index c5f9b4c5e5..213d54f772 100644
--- a/plots/shap-summary/metadata/matplotlib.yaml
+++ b/plots/shap-summary/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/shap-summary/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/shap-summary/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent implementation of the SHAP summary plot concept with proper sorting
diff --git a/plots/shap-summary/metadata/plotly.yaml b/plots/shap-summary/metadata/plotly.yaml
index d2332c1b8a..a36b1d2253 100644
--- a/plots/shap-summary/metadata/plotly.yaml
+++ b/plots/shap-summary/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/shap-summary/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/shap-summary/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/shap-summary/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the SHAP summary visualization concept with proper
diff --git a/plots/shap-summary/metadata/seaborn.yaml b/plots/shap-summary/metadata/seaborn.yaml
index 7f614bdad0..a43bbe9559 100644
--- a/plots/shap-summary/metadata/seaborn.yaml
+++ b/plots/shap-summary/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/shap-summary/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/shap-summary/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - colorbar
+ patterns:
+ - dataset-loading
+ - groupby-aggregation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Good use of seaborn stripplot with jitter for SHAP value distribution visualization
diff --git a/plots/silhouette-basic/metadata/altair.yaml b/plots/silhouette-basic/metadata/altair.yaml
index 168d58f497..21fcc10f2f 100644
--- a/plots/silhouette-basic/metadata/altair.yaml
+++ b/plots/silhouette-basic/metadata/altair.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - layer-composition
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - dataset-loading
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative grammar with proper encoding types (Q for
diff --git a/plots/silhouette-basic/metadata/bokeh.yaml b/plots/silhouette-basic/metadata/bokeh.yaml
index 8ac97fdd59..a1f61fbdde 100644
--- a/plots/silhouette-basic/metadata/bokeh.yaml
+++ b/plots/silhouette-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent text sizing scaled appropriately for 4800x2700 canvas (42pt title, 32pt
@@ -27,13 +38,26 @@ review:
- Could benefit from hover tooltips showing individual sample silhouette values
for interactivity
- No explicit legend element though cluster labels serve the purpose adequately
- image_description: |-
- The plot displays a silhouette plot with three distinct clusters visualized as horizontal bars. From bottom to top:
- - **Cluster 0** (blue, #306998): 50 samples with the highest silhouette scores, bars extending mostly from 0.4 to 0.95
- - **Cluster 1** (yellow/gold, #FFD43B): 55 samples with medium-high scores, bars ranging roughly 0.25 to 0.85
- - **Cluster 2** (green, #2ECC71): 45 samples with more variable scores, including some approaching negative values, ranging from ~-0.1 to 0.75
+ image_description: 'The plot displays a silhouette plot with three distinct clusters
+ visualized as horizontal bars. From bottom to top:
- A red dashed vertical line marks the average silhouette score (0.609). Each cluster is labeled on the left with "Cluster X" in matching colors, and on the right with sample count and average (e.g., "n=50, avg=0.82"). The title "silhouette-basic · bokeh · pyplots.ai" appears at top-left. X-axis labeled "Silhouette Coefficient", Y-axis labeled "Cluster (samples sorted by silhouette score)". Light gray background with subtle vertical grid lines. The bars are sorted within each cluster from lowest to highest silhouette value.
+ - **Cluster 0** (blue, #306998): 50 samples with the highest silhouette scores,
+ bars extending mostly from 0.4 to 0.95
+
+ - **Cluster 1** (yellow/gold, #FFD43B): 55 samples with medium-high scores, bars
+ ranging roughly 0.25 to 0.85
+
+ - **Cluster 2** (green, #2ECC71): 45 samples with more variable scores, including
+ some approaching negative values, ranging from ~-0.1 to 0.75
+
+
+ A red dashed vertical line marks the average silhouette score (0.609). Each cluster
+ is labeled on the left with "Cluster X" in matching colors, and on the right with
+ sample count and average (e.g., "n=50, avg=0.82"). The title "silhouette-basic
+ · bokeh · pyplots.ai" appears at top-left. X-axis labeled "Silhouette Coefficient",
+ Y-axis labeled "Cluster (samples sorted by silhouette score)". Light gray background
+ with subtle vertical grid lines. The bars are sorted within each cluster from
+ lowest to highest silhouette value.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/silhouette-basic/metadata/highcharts.yaml b/plots/silhouette-basic/metadata/highcharts.yaml
index 6d719378ec..640bf4b783 100644
--- a/plots/silhouette-basic/metadata/highcharts.yaml
+++ b/plots/silhouette-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual representation of silhouette analysis with clear cluster separation
@@ -25,13 +36,26 @@ review:
- X-axis (silhouette coefficient axis) label text not visible in the rendered image
- Y-axis label font could be slightly larger for optimal readability at full resolution
- Legend text could be larger for better visibility
- image_description: |-
- The plot displays a silhouette visualization for a 3-cluster K-means solution on the Iris dataset. Three distinct color-coded clusters are shown with horizontal bars representing individual sample silhouette scores:
- - **Cluster 0 (blue)**: 50 samples at top with Avg: 0.758 - consistently high scores indicating well-separated cluster
- - **Cluster 1 (yellow)**: 50 samples in middle with Avg: 0.555 - moderate scores showing decent separation
- - **Cluster 2 (purple)**: 50 samples at bottom with Avg: 0.361 - lower scores with visible negative values indicating some overlap/misclassification
+ image_description: 'The plot displays a silhouette visualization for a 3-cluster
+ K-means solution on the Iris dataset. Three distinct color-coded clusters are
+ shown with horizontal bars representing individual sample silhouette scores:
- A vertical dashed red line marks the average silhouette score (0.558) with label. Title follows the correct format "silhouette-basic · highcharts · pyplots.ai". Subtitle shows "Iris Dataset Clustering (K=3) | Average Silhouette Score: 0.558". Y-axis labeled "Samples (sorted by silhouette score within cluster)". Light background bands distinguish cluster regions. Legend positioned on right side showing sample counts.
+ - **Cluster 0 (blue)**: 50 samples at top with Avg: 0.758 - consistently high
+ scores indicating well-separated cluster
+
+ - **Cluster 1 (yellow)**: 50 samples in middle with Avg: 0.555 - moderate scores
+ showing decent separation
+
+ - **Cluster 2 (purple)**: 50 samples at bottom with Avg: 0.361 - lower scores
+ with visible negative values indicating some overlap/misclassification
+
+
+ A vertical dashed red line marks the average silhouette score (0.558) with label.
+ Title follows the correct format "silhouette-basic · highcharts · pyplots.ai".
+ Subtitle shows "Iris Dataset Clustering (K=3) | Average Silhouette Score: 0.558".
+ Y-axis labeled "Samples (sorted by silhouette score within cluster)". Light background
+ bands distinguish cluster regions. Legend positioned on right side showing sample
+ counts.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/silhouette-basic/metadata/letsplot.yaml b/plots/silhouette-basic/metadata/letsplot.yaml
index 5ce2fdee50..2ec35cbb47 100644
--- a/plots/silhouette-basic/metadata/letsplot.yaml
+++ b/plots/silhouette-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - dataset-loading
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of geom_segment to create horizontal bars sorted within each cluster,
diff --git a/plots/silhouette-basic/metadata/matplotlib.yaml b/plots/silhouette-basic/metadata/matplotlib.yaml
index 8d1512eb99..cb8deb0467 100644
--- a/plots/silhouette-basic/metadata/matplotlib.yaml
+++ b/plots/silhouette-basic/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - dataset-loading
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of matplotlib fill_betweenx for creating characteristic silhouette
diff --git a/plots/silhouette-basic/metadata/plotly.yaml b/plots/silhouette-basic/metadata/plotly.yaml
index 9032e0b16a..919f471b30 100644
--- a/plots/silhouette-basic/metadata/plotly.yaml
+++ b/plots/silhouette-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - dataset-loading
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized fonts and properly sorted bars within
diff --git a/plots/silhouette-basic/metadata/plotnine.yaml b/plots/silhouette-basic/metadata/plotnine.yaml
index 052dfa58bf..83a1696441 100644
--- a/plots/silhouette-basic/metadata/plotnine.yaml
+++ b/plots/silhouette-basic/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - dataset-loading
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the silhouette plot using plotnine grammar of graphics
diff --git a/plots/silhouette-basic/metadata/pygal.yaml b/plots/silhouette-basic/metadata/pygal.yaml
index 25e0a7e2a2..b92e8656b5 100644
--- a/plots/silhouette-basic/metadata/pygal.yaml
+++ b/plots/silhouette-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Clean separation of clusters with distinct colors (Python Blue, Yellow, Red)
diff --git a/plots/silhouette-basic/metadata/seaborn.yaml b/plots/silhouette-basic/metadata/seaborn.yaml
index e5a0db203e..bc97af8da5 100644
--- a/plots/silhouette-basic/metadata/seaborn.yaml
+++ b/plots/silhouette-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/silhouette-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/silhouette-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - sklearn
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - dataset-loading
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of silhouette plot with proper sorted bars within each
diff --git a/plots/slider-control-basic/metadata/altair.yaml b/plots/slider-control-basic/metadata/altair.yaml
index 60b3f18485..ec922f536c 100644
--- a/plots/slider-control-basic/metadata/altair.yaml
+++ b/plots/slider-control-basic/metadata/altair.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slider-control-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Altair declarative selection and binding system for the slider
diff --git a/plots/slider-control-basic/metadata/bokeh.yaml b/plots/slider-control-basic/metadata/bokeh.yaml
index 71b4deca60..daefc0a6a2 100644
--- a/plots/slider-control-basic/metadata/bokeh.yaml
+++ b/plots/slider-control-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slider-control-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of interactive slider control with CustomJS callback
diff --git a/plots/slider-control-basic/metadata/highcharts.yaml b/plots/slider-control-basic/metadata/highcharts.yaml
index b53c57ae95..903f398ab4 100644
--- a/plots/slider-control-basic/metadata/highcharts.yaml
+++ b/plots/slider-control-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slider-control-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent slider widget design with clear labels, gradient styling, and prominent
diff --git a/plots/slider-control-basic/metadata/letsplot.yaml b/plots/slider-control-basic/metadata/letsplot.yaml
index 4cf49c9446..e1f93abb2d 100644
--- a/plots/slider-control-basic/metadata/letsplot.yaml
+++ b/plots/slider-control-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slider-control-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/letsplot/plot.html
quality_score: 55
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual presentation with clear, readable text at all sizes
diff --git a/plots/slider-control-basic/metadata/matplotlib.yaml b/plots/slider-control-basic/metadata/matplotlib.yaml
index dfad9a4414..a0eefbd337 100644
--- a/plots/slider-control-basic/metadata/matplotlib.yaml
+++ b/plots/slider-control-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slider-control-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of matplotlib Slider widget with proper update callback
diff --git a/plots/slider-control-basic/metadata/plotly.yaml b/plots/slider-control-basic/metadata/plotly.yaml
index f6fde7bf66..e6ebc5a610 100644
--- a/plots/slider-control-basic/metadata/plotly.yaml
+++ b/plots/slider-control-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slider-control-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly slider component with well-configured steps and currentvalue
diff --git a/plots/slider-control-basic/metadata/pygal.yaml b/plots/slider-control-basic/metadata/pygal.yaml
index d3d55569b8..4fca240599 100644
--- a/plots/slider-control-basic/metadata/pygal.yaml
+++ b/plots/slider-control-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slider-control-
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slider-control-basic/pygal/plot.html
quality_score: 55
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent HTML implementation with functional slider control, year display, and
diff --git a/plots/slope-basic/metadata/altair.yaml b/plots/slope-basic/metadata/altair.yaml
index 0f24511283..d1aa3a81b9 100644
--- a/plots/slope-basic/metadata/altair.yaml
+++ b/plots/slope-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slope-basic/altair/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths: []
weaknesses: []
diff --git a/plots/slope-basic/metadata/bokeh.yaml b/plots/slope-basic/metadata/bokeh.yaml
index 03fd69ba51..73acad46ba 100644
--- a/plots/slope-basic/metadata/bokeh.yaml
+++ b/plots/slope-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slope-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of the slope chart concept with clear visual distinction
diff --git a/plots/slope-basic/metadata/highcharts.yaml b/plots/slope-basic/metadata/highcharts.yaml
index 47fae6ce57..2c97457a25 100644
--- a/plots/slope-basic/metadata/highcharts.yaml
+++ b/plots/slope-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slope-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with thick lines and large markers appropriate for the
diff --git a/plots/slope-basic/metadata/letsplot.yaml b/plots/slope-basic/metadata/letsplot.yaml
index 7b7b14989d..70fa170fec 100644
--- a/plots/slope-basic/metadata/letsplot.yaml
+++ b/plots/slope-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slope-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - minimal-chrome
+ - grid-styling
review:
strengths:
- Excellent slope chart implementation with clear visual representation of change
diff --git a/plots/slope-basic/metadata/matplotlib.yaml b/plots/slope-basic/metadata/matplotlib.yaml
index b4cfd4a876..f4d58c0ae6 100644
--- a/plots/slope-basic/metadata/matplotlib.yaml
+++ b/plots/slope-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent label collision avoidance algorithm prevents text overlap
diff --git a/plots/slope-basic/metadata/plotly.yaml b/plots/slope-basic/metadata/plotly.yaml
index 72df645b43..080e5a506a 100644
--- a/plots/slope-basic/metadata/plotly.yaml
+++ b/plots/slope-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slope-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color coding system using Python brand colors (blue for increase, yellow
diff --git a/plots/slope-basic/metadata/plotnine.yaml b/plots/slope-basic/metadata/plotnine.yaml
index fddf007470..b9e0bb19bd 100644
--- a/plots/slope-basic/metadata/plotnine.yaml
+++ b/plots/slope-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
+ - grid-styling
review:
strengths:
- Excellent implementation of slope chart using plotnine grammar of graphics
diff --git a/plots/slope-basic/metadata/pygal.yaml b/plots/slope-basic/metadata/pygal.yaml
index 303348195f..76a0ac944f 100644
--- a/plots/slope-basic/metadata/pygal.yaml
+++ b/plots/slope-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/slope-basic/pygal/plot.html
quality_score: 86
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Colorblind-friendly color scheme with blue for increasing and orange-red for decreasing
diff --git a/plots/slope-basic/metadata/seaborn.yaml b/plots/slope-basic/metadata/seaborn.yaml
index 03b9a4062b..b11450b6f1 100644
--- a/plots/slope-basic/metadata/seaborn.yaml
+++ b/plots/slope-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/slope-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/slope-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - wide-to-long
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent color coding distinguishing increases (blue) from decreases (yellow)
diff --git a/plots/span-basic/metadata/altair.yaml b/plots/span-basic/metadata/altair.yaml
index 4cc63b577d..2024b9b9fc 100644
--- a/plots/span-basic/metadata/altair.yaml
+++ b/plots/span-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/span-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent demonstration of both vertical and horizontal span regions with appropriate
diff --git a/plots/span-basic/metadata/bokeh.yaml b/plots/span-basic/metadata/bokeh.yaml
index da1b4e4916..f2cb38469d 100644
--- a/plots/span-basic/metadata/bokeh.yaml
+++ b/plots/span-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/span-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Bokeh BoxAnnotation for both vertical and horizontal spans
diff --git a/plots/span-basic/metadata/highcharts.yaml b/plots/span-basic/metadata/highcharts.yaml
index 4f936196b1..30073d3f69 100644
--- a/plots/span-basic/metadata/highcharts.yaml
+++ b/plots/span-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/span-basic/highcharts/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent demonstration of BOTH vertical and horizontal spans in a single plot
@@ -25,14 +36,26 @@ review:
with categories)
- Stock price values are somewhat generic; could reference a specific index for
more realism
- image_description: |-
- The plot displays a line chart showing stock price data over time from January 2007 to October 2010. The title "span-basic · highcharts · pyplots.ai" appears at the top in bold black text, with a subtitle "Stock Price with Recession Period Highlighted" below it. The y-axis is labeled "Stock Price ($)" ranging from 50 to 180. The x-axis shows quarterly dates from Jan 2007 to Oct 2010. A blue line with circular markers traces the stock price movement.
+ image_description: 'The plot displays a line chart showing stock price data over
+ time from January 2007 to October 2010. The title "span-basic · highcharts · pyplots.ai"
+ appears at the top in bold black text, with a subtitle "Stock Price with Recession
+ Period Highlighted" below it. The y-axis is labeled "Stock Price ($)" ranging
+ from 50 to 180. The x-axis shows quarterly dates from Jan 2007 to Oct 2010. A
+ blue line with circular markers traces the stock price movement.
+
Two span regions are clearly visible:
- 1. A **vertical span** (light blue, ~25% opacity) highlighting the "Recession Period" from Jan 2008 to Jan 2009, with a label at the top
- 2. A **horizontal span** (light yellow, ~25% opacity) highlighting the "Below Target Price" zone from $50 to $100, with a label on the left side
- The data shows the stock price declining from ~$155 peak in mid-2007 down to ~$78 during the recession (Apr 2009), then recovering to ~$135 by Oct 2010. The overlapping spans create a visual intersection where both highlighted regions meet.
+ 1. A **vertical span** (light blue, ~25% opacity) highlighting the "Recession
+ Period" from Jan 2008 to Jan 2009, with a label at the top
+
+ 2. A **horizontal span** (light yellow, ~25% opacity) highlighting the "Below
+ Target Price" zone from $50 to $100, with a label on the left side
+
+
+ The data shows the stock price declining from ~$155 peak in mid-2007 down to ~$78
+ during the recession (Apr 2009), then recovering to ~$135 by Oct 2010. The overlapping
+ spans create a visual intersection where both highlighted regions meet.'
criteria_checklist:
visual_quality:
score: 37
diff --git a/plots/span-basic/metadata/letsplot.yaml b/plots/span-basic/metadata/letsplot.yaml
index 0ffd3a8634..b8f146342e 100644
--- a/plots/span-basic/metadata/letsplot.yaml
+++ b/plots/span-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/span-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent real-world scenario using the 2008-2009 recession as the highlighted
diff --git a/plots/span-basic/metadata/matplotlib.yaml b/plots/span-basic/metadata/matplotlib.yaml
index c9958771a7..5e85276675 100644
--- a/plots/span-basic/metadata/matplotlib.yaml
+++ b/plots/span-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent demonstration of both vertical (axvspan for recession period) and horizontal
diff --git a/plots/span-basic/metadata/plotly.yaml b/plots/span-basic/metadata/plotly.yaml
index cdd6adf8a1..dcecdd98fd 100644
--- a/plots/span-basic/metadata/plotly.yaml
+++ b/plots/span-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/span-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent demonstration of both vertical and horizontal spans with realistic economic
@@ -26,12 +36,23 @@ review:
- Axis labels lack units (e.g. Economic Index base=100 would be more informative)
- HTML output could leverage plotly interactive features (hover info on spans, range
slider) but these are optional enhancements
- image_description: |-
- The plot displays a line chart with an Economic Index (y-axis, range ~85-120) plotted against Year (x-axis, 2005-2014). The data is shown as a blue line with circular markers (#306998 color). Two span regions are clearly visible:
- 1. A **vertical span** (light blue, semi-transparent) marking the "Recession" period from approximately 2007.5 to 2009.5, with a text label in the top-left corner
- 2. A **horizontal span** (light yellow, semi-transparent) marking the "Target Zone" between values 105-115, also labeled in the top-left corner
+ image_description: 'The plot displays a line chart with an Economic Index (y-axis,
+ range ~85-120) plotted against Year (x-axis, 2005-2014). The data is shown as
+ a blue line with circular markers (#306998 color). Two span regions are clearly
+ visible:
- The title "span-basic · plotly · pyplots.ai" is centered at the top. The legend shows "Economic Index" in the bottom-left corner with a white background. The plot uses the plotly_white template with subtle gray gridlines. The overlapping region of both spans creates a greenish tint where they intersect.
+ 1. A **vertical span** (light blue, semi-transparent) marking the "Recession"
+ period from approximately 2007.5 to 2009.5, with a text label in the top-left
+ corner
+
+ 2. A **horizontal span** (light yellow, semi-transparent) marking the "Target
+ Zone" between values 105-115, also labeled in the top-left corner
+
+
+ The title "span-basic · plotly · pyplots.ai" is centered at the top. The legend
+ shows "Economic Index" in the bottom-left corner with a white background. The
+ plot uses the plotly_white template with subtle gray gridlines. The overlapping
+ region of both spans creates a greenish tint where they intersect.'
criteria_checklist:
visual_quality:
score: 37
diff --git a/plots/span-basic/metadata/plotnine.yaml b/plots/span-basic/metadata/plotnine.yaml
index 585ac8e864..0b92cbf6ea 100644
--- a/plots/span-basic/metadata/plotnine.yaml
+++ b/plots/span-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of plotnine grammar of graphics with geom_rect for span regions
diff --git a/plots/span-basic/metadata/pygal.yaml b/plots/span-basic/metadata/pygal.yaml
index ddc21c2ad4..dbfce254f1 100644
--- a/plots/span-basic/metadata/pygal.yaml
+++ b/plots/span-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/span-basic/pygal/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/span-basic/metadata/seaborn.yaml b/plots/span-basic/metadata/seaborn.yaml
index 9ab7b2cdb7..238d4dda8f 100644
--- a/plots/span-basic/metadata/seaborn.yaml
+++ b/plots/span-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/span-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/span-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent demonstration of both vertical and horizontal spans with meaningful
diff --git a/plots/sparkline-basic/metadata/altair.yaml b/plots/sparkline-basic/metadata/altair.yaml
index 99802b5f06..7f72f5258b 100644
--- a/plots/sparkline-basic/metadata/altair.yaml
+++ b/plots/sparkline-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent minimalist sparkline design with no axes or labels as specified
diff --git a/plots/sparkline-basic/metadata/bokeh.yaml b/plots/sparkline-basic/metadata/bokeh.yaml
index 9d482893a7..dab4c158ae 100644
--- a/plots/sparkline-basic/metadata/bokeh.yaml
+++ b/plots/sparkline-basic/metadata/bokeh.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent sparkline minimalism - no axes, gridlines, or labels as spec requires
diff --git a/plots/sparkline-basic/metadata/highcharts.yaml b/plots/sparkline-basic/metadata/highcharts.yaml
index cd2fc981bb..ca865c9fb8 100644
--- a/plots/sparkline-basic/metadata/highcharts.yaml
+++ b/plots/sparkline-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean, minimal sparkline design with no chart chrome (axes, gridlines) per specification
diff --git a/plots/sparkline-basic/metadata/letsplot.yaml b/plots/sparkline-basic/metadata/letsplot.yaml
index d534cf90d2..9da524a1cc 100644
--- a/plots/sparkline-basic/metadata/letsplot.yaml
+++ b/plots/sparkline-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent adherence to sparkline minimalist design (no axes, labels, or gridlines)
diff --git a/plots/sparkline-basic/metadata/matplotlib.yaml b/plots/sparkline-basic/metadata/matplotlib.yaml
index 869e318e03..0e15cce096 100644
--- a/plots/sparkline-basic/metadata/matplotlib.yaml
+++ b/plots/sparkline-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- 'Perfect sparkline aesthetic: no axes, gridlines, or chart chrome - exactly as
diff --git a/plots/sparkline-basic/metadata/plotly.yaml b/plots/sparkline-basic/metadata/plotly.yaml
index fae6724f1e..5acd63a84d 100644
--- a/plots/sparkline-basic/metadata/plotly.yaml
+++ b/plots/sparkline-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of sparkline minimalism - no axes, gridlines, or labels
diff --git a/plots/sparkline-basic/metadata/plotnine.yaml b/plots/sparkline-basic/metadata/plotnine.yaml
index 2a3c679778..4285a81b0d 100644
--- a/plots/sparkline-basic/metadata/plotnine.yaml
+++ b/plots/sparkline-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of sparkline minimalism with proper removal of all chart
diff --git a/plots/sparkline-basic/metadata/pygal.yaml b/plots/sparkline-basic/metadata/pygal.yaml
index da96bcee86..3d4412fe9c 100644
--- a/plots/sparkline-basic/metadata/pygal.yaml
+++ b/plots/sparkline-basic/metadata/pygal.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/pygal/plot.html
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of sparkline minimalism with no axes, labels, or gridlines
diff --git a/plots/sparkline-basic/metadata/seaborn.yaml b/plots/sparkline-basic/metadata/seaborn.yaml
index b836a709a5..efa861096e 100644
--- a/plots/sparkline-basic/metadata/seaborn.yaml
+++ b/plots/sparkline-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sparkline-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - alpha-blending
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent adherence to sparkline design principles with complete removal of chart
diff --git a/plots/spectrogram-basic/metadata/altair.yaml b/plots/spectrogram-basic/metadata/altair.yaml
index a02f338a22..9254194f47 100644
--- a/plots/spectrogram-basic/metadata/altair.yaml
+++ b/plots/spectrogram-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent STFT implementation from scratch using numpy FFT, demonstrating understanding
diff --git a/plots/spectrogram-basic/metadata/bokeh.yaml b/plots/spectrogram-basic/metadata/bokeh.yaml
index 8948bcf411..2feb66dddc 100644
--- a/plots/spectrogram-basic/metadata/bokeh.yaml
+++ b/plots/spectrogram-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ - grid-styling
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of viridis colormap for perceptually uniform and colorblind-accessible
diff --git a/plots/spectrogram-basic/metadata/highcharts.yaml b/plots/spectrogram-basic/metadata/highcharts.yaml
index ea3d388233..478de255b1 100644
--- a/plots/spectrogram-basic/metadata/highcharts.yaml
+++ b/plots/spectrogram-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clear visualization of the chirp signal with frequency increasing over time (diagonal
diff --git a/plots/spectrogram-basic/metadata/letsplot.yaml b/plots/spectrogram-basic/metadata/letsplot.yaml
index dfea2605f6..429629efcf 100644
--- a/plots/spectrogram-basic/metadata/letsplot.yaml
+++ b/plots/spectrogram-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of scipy.signal.spectrogram for proper FFT-based spectrogram computation
diff --git a/plots/spectrogram-basic/metadata/matplotlib.yaml b/plots/spectrogram-basic/metadata/matplotlib.yaml
index 352d06ca46..e25a38d4f3 100644
--- a/plots/spectrogram-basic/metadata/matplotlib.yaml
+++ b/plots/spectrogram-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent spectrogram visualization with clear chirp signal and tone burst demonstration
diff --git a/plots/spectrogram-basic/metadata/plotly.yaml b/plots/spectrogram-basic/metadata/plotly.yaml
index 5a478e8df4..cb36389386 100644
--- a/plots/spectrogram-basic/metadata/plotly.yaml
+++ b/plots/spectrogram-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent visual clarity with the Viridis colormap showing the chirp signal frequency
diff --git a/plots/spectrogram-basic/metadata/plotnine.yaml b/plots/spectrogram-basic/metadata/plotnine.yaml
index 4ee595e5cb..4d5dafe032 100644
--- a/plots/spectrogram-basic/metadata/plotnine.yaml
+++ b/plots/spectrogram-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Clear visualization of chirp signal with frequency increasing over time
diff --git a/plots/spectrogram-basic/metadata/pygal.yaml b/plots/spectrogram-basic/metadata/pygal.yaml
index 1b10c6a90d..f94615d6d4 100644
--- a/plots/spectrogram-basic/metadata/pygal.yaml
+++ b/plots/spectrogram-basic/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ - patches
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of a custom heatmap chart type by extending pygal Graph
diff --git a/plots/spectrogram-basic/metadata/seaborn.yaml b/plots/spectrogram-basic/metadata/seaborn.yaml
index cbbc1b5b7d..7e1a509db8 100644
--- a/plots/spectrogram-basic/metadata/seaborn.yaml
+++ b/plots/spectrogram-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrogram-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrogram-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent visualization of chirp signal showing clear time-frequency relationship
diff --git a/plots/spectrum-basic/metadata/altair.yaml b/plots/spectrum-basic/metadata/altair.yaml
index a71ea4b6a5..cf6d274101 100644
--- a/plots/spectrum-basic/metadata/altair.yaml
+++ b/plots/spectrum-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/altair/plot.html
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent FFT computation with proper normalization and dB conversion
diff --git a/plots/spectrum-basic/metadata/bokeh.yaml b/plots/spectrum-basic/metadata/bokeh.yaml
index aab4cdbcf6..89c92eb529 100644
--- a/plots/spectrum-basic/metadata/bokeh.yaml
+++ b/plots/spectrum-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with proper text sizing for the 4800x2700 canvas
diff --git a/plots/spectrum-basic/metadata/highcharts.yaml b/plots/spectrum-basic/metadata/highcharts.yaml
index feb3f40fed..053c87419e 100644
--- a/plots/spectrum-basic/metadata/highcharts.yaml
+++ b/plots/spectrum-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - gradient-fill
review:
strengths:
- Excellent visualization of frequency spectrum with clear identification of fundamental
diff --git a/plots/spectrum-basic/metadata/letsplot.yaml b/plots/spectrum-basic/metadata/letsplot.yaml
index 4655321704..b2b506428d 100644
--- a/plots/spectrum-basic/metadata/letsplot.yaml
+++ b/plots/spectrum-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - fill-under-curve
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with three distinct frequency peaks clearly visible
diff --git a/plots/spectrum-basic/metadata/matplotlib.yaml b/plots/spectrum-basic/metadata/matplotlib.yaml
index 08a11c1f1a..fa30637f7e 100644
--- a/plots/spectrum-basic/metadata/matplotlib.yaml
+++ b/plots/spectrum-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - fill-under-curve
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent signal processing implementation with proper FFT computation and normalization
diff --git a/plots/spectrum-basic/metadata/plotly.yaml b/plots/spectrum-basic/metadata/plotly.yaml
index d0fbdbda0f..284c3098f1 100644
--- a/plots/spectrum-basic/metadata/plotly.yaml
+++ b/plots/spectrum-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - fill-under-curve
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent peak annotation with clear yellow arrows pointing to dominant frequencies
diff --git a/plots/spectrum-basic/metadata/plotnine.yaml b/plots/spectrum-basic/metadata/plotnine.yaml
index 7b7da4ea16..2c76fb55a7 100644
--- a/plots/spectrum-basic/metadata/plotnine.yaml
+++ b/plots/spectrum-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent signal processing implementation with realistic mechanical vibration
diff --git a/plots/spectrum-basic/metadata/pygal.yaml b/plots/spectrum-basic/metadata/pygal.yaml
index d768d585ee..6a23bc4e3a 100644
--- a/plots/spectrum-basic/metadata/pygal.yaml
+++ b/plots/spectrum-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - fill-under-curve
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visualization of frequency spectrum with clear, distinct peaks at 50
diff --git a/plots/spectrum-basic/metadata/seaborn.yaml b/plots/spectrum-basic/metadata/seaborn.yaml
index 861007af80..d48afa4733 100644
--- a/plots/spectrum-basic/metadata/seaborn.yaml
+++ b/plots/spectrum-basic/metadata/seaborn.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/spectrum-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - fill-under-curve
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text elements and good color contrast
diff --git a/plots/stem-basic/metadata/altair.yaml b/plots/stem-basic/metadata/altair.yaml
index 99f59eb526..34fe2a95b5 100644
--- a/plots/stem-basic/metadata/altair.yaml
+++ b/plots/stem-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/stem-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of stem plot using Altair declarative approach with layered
diff --git a/plots/stem-basic/metadata/bokeh.yaml b/plots/stem-basic/metadata/bokeh.yaml
index 6d35b735dc..c3362b76f1 100644
--- a/plots/stem-basic/metadata/bokeh.yaml
+++ b/plots/stem-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/stem-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling: []
review:
strengths:
- Clean stem plot implementation using segment + scatter combination
diff --git a/plots/stem-basic/metadata/highcharts.yaml b/plots/stem-basic/metadata/highcharts.yaml
index 2dd9808cca..db32441413 100644
--- a/plots/stem-basic/metadata/highcharts.yaml
+++ b/plots/stem-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/stem-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent stem plot implementation using creative combination of LineSeries for
diff --git a/plots/stem-basic/metadata/letsplot.yaml b/plots/stem-basic/metadata/letsplot.yaml
index fce4d667c9..08b0e35c84 100644
--- a/plots/stem-basic/metadata/letsplot.yaml
+++ b/plots/stem-basic/metadata/letsplot.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/stem-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent stem plot implementation using geom_segment + geom_point + geom_hline
diff --git a/plots/stem-basic/metadata/matplotlib.yaml b/plots/stem-basic/metadata/matplotlib.yaml
index a20a945650..0ce947cdc5 100644
--- a/plots/stem-basic/metadata/matplotlib.yaml
+++ b/plots/stem-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent stem plot implementation with proper use of ax.stem() and customization
diff --git a/plots/stem-basic/metadata/plotly.yaml b/plots/stem-basic/metadata/plotly.yaml
index 2809588eb1..af43bdd768 100644
--- a/plots/stem-basic/metadata/plotly.yaml
+++ b/plots/stem-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/stem-basic/plotly/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent stem plot implementation using Plotly graph_objects with clear vertical
diff --git a/plots/stem-basic/metadata/pygal.yaml b/plots/stem-basic/metadata/pygal.yaml
index 172341582a..3c56ab9191 100644
--- a/plots/stem-basic/metadata/pygal.yaml
+++ b/plots/stem-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/stem-basic/pygal/plot.html
quality_score: 86
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Correct stem plot visualization with vertical lines from baseline to data markers
diff --git a/plots/stem-basic/metadata/seaborn.yaml b/plots/stem-basic/metadata/seaborn.yaml
index 6854bf40a9..d86f6decb2 100644
--- a/plots/stem-basic/metadata/seaborn.yaml
+++ b/plots/stem-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/stem-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/stem-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with properly sized text elements and good color contrast
diff --git a/plots/step-basic/metadata/altair.yaml b/plots/step-basic/metadata/altair.yaml
index ee1adf1c63..dd7c7bb421 100644
--- a/plots/step-basic/metadata/altair.yaml
+++ b/plots/step-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/step-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns: []
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of step-after interpolation creating proper stair-step
diff --git a/plots/step-basic/metadata/bokeh.yaml b/plots/step-basic/metadata/bokeh.yaml
index 67ae53cb1c..10a4d58312 100644
--- a/plots/step-basic/metadata/bokeh.yaml
+++ b/plots/step-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/step-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - columndatasource
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Bokeh native step() glyph with after mode for proper step visualization
diff --git a/plots/step-basic/metadata/highcharts.yaml b/plots/step-basic/metadata/highcharts.yaml
index 6cfd19d4ba..87bff2f409 100644
--- a/plots/step-basic/metadata/highcharts.yaml
+++ b/plots/step-basic/metadata/highcharts.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/step-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns: []
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent step chart implementation with correct left step style creating proper
diff --git a/plots/step-basic/metadata/letsplot.yaml b/plots/step-basic/metadata/letsplot.yaml
index 9c4100cbf9..9f121456c1 100644
--- a/plots/step-basic/metadata/letsplot.yaml
+++ b/plots/step-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/step-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of geom_step with hv direction parameter creating proper stair-step
diff --git a/plots/step-basic/metadata/matplotlib.yaml b/plots/step-basic/metadata/matplotlib.yaml
index 0afe400315..7489dd9842 100644
--- a/plots/step-basic/metadata/matplotlib.yaml
+++ b/plots/step-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - cumulative-sum
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of the stair-step pattern using ax.step() with post style
diff --git a/plots/step-basic/metadata/plotly.yaml b/plots/step-basic/metadata/plotly.yaml
index 559f1633c9..c9f5c43d13 100644
--- a/plots/step-basic/metadata/plotly.yaml
+++ b/plots/step-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/step-basic/plotly/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - cumulative-sum
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/step-basic/metadata/plotnine.yaml b/plots/step-basic/metadata/plotnine.yaml
index 453cf68f23..9aef938748 100644
--- a/plots/step-basic/metadata/plotnine.yaml
+++ b/plots/step-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns: []
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Clean implementation following plotnine grammar of graphics approach with geom_step
diff --git a/plots/step-basic/metadata/pygal.yaml b/plots/step-basic/metadata/pygal.yaml
index 59470fed6f..b5c16e3111 100644
--- a/plots/step-basic/metadata/pygal.yaml
+++ b/plots/step-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/step-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent step visualization technique using intermediate points with zero-width
diff --git a/plots/step-basic/metadata/seaborn.yaml b/plots/step-basic/metadata/seaborn.yaml
index 58abd38db8..23d91593fb 100644
--- a/plots/step-basic/metadata/seaborn.yaml
+++ b/plots/step-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/step-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/step-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - cumulative-sum
+ styling:
+ - grid-styling
review:
strengths:
- Excellent visual clarity with properly sized text elements and markers
diff --git a/plots/streamgraph-basic/metadata/altair.yaml b/plots/streamgraph-basic/metadata/altair.yaml
index dbdd2a92f2..03e284495d 100644
--- a/plots/streamgraph-basic/metadata/altair.yaml
+++ b/plots/streamgraph-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/altair/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Altair's declarative grammar with proper encoding types (T, Q,
diff --git a/plots/streamgraph-basic/metadata/bokeh.yaml b/plots/streamgraph-basic/metadata/bokeh.yaml
index 1b1d0a316d..a811e47c00 100644
--- a/plots/streamgraph-basic/metadata/bokeh.yaml
+++ b/plots/streamgraph-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the centered baseline algorithm creating proper symmetric
diff --git a/plots/streamgraph-basic/metadata/highcharts.yaml b/plots/streamgraph-basic/metadata/highcharts.yaml
index 7521b04614..54fb04536e 100644
--- a/plots/streamgraph-basic/metadata/highcharts.yaml
+++ b/plots/streamgraph-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of streamgraph with proper centered baseline and smooth
diff --git a/plots/streamgraph-basic/metadata/letsplot.yaml b/plots/streamgraph-basic/metadata/letsplot.yaml
index 57fa8b05df..7487ce44a6 100644
--- a/plots/streamgraph-basic/metadata/letsplot.yaml
+++ b/plots/streamgraph-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of centered baseline algorithm for authentic streamgraph
diff --git a/plots/streamgraph-basic/metadata/matplotlib.yaml b/plots/streamgraph-basic/metadata/matplotlib.yaml
index f1dde29a4d..658410eaab 100644
--- a/plots/streamgraph-basic/metadata/matplotlib.yaml
+++ b/plots/streamgraph-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of matplotlib stackplot with wiggle baseline to create authentic
diff --git a/plots/streamgraph-basic/metadata/plotly.yaml b/plots/streamgraph-basic/metadata/plotly.yaml
index a4beb4913b..c3e82f1142 100644
--- a/plots/streamgraph-basic/metadata/plotly.yaml
+++ b/plots/streamgraph-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of centered baseline algorithm creating true streamgraph
diff --git a/plots/streamgraph-basic/metadata/plotnine.yaml b/plots/streamgraph-basic/metadata/plotnine.yaml
index b645fafc1a..37770b0927 100644
--- a/plots/streamgraph-basic/metadata/plotnine.yaml
+++ b/plots/streamgraph-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 98
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths: []
weaknesses: []
diff --git a/plots/streamgraph-basic/metadata/pygal.yaml b/plots/streamgraph-basic/metadata/pygal.yaml
index 3a9a0c0e09..c33dbf40a2 100644
--- a/plots/streamgraph-basic/metadata/pygal.yaml
+++ b/plots/streamgraph-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/pygal/plot.html
quality_score: 75
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Successfully implements a centered streamgraph using pygal StackedLine chart with
diff --git a/plots/streamgraph-basic/metadata/seaborn.yaml b/plots/streamgraph-basic/metadata/seaborn.yaml
index b114711da7..50d045a1b5 100644
--- a/plots/streamgraph-basic/metadata/seaborn.yaml
+++ b/plots/streamgraph-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamgraph-bas
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamgraph-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - manual-ticks
+ patterns:
+ - data-generation
+ - wide-to-long
+ - long-to-wide
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of centered baseline streamgraph algorithm
diff --git a/plots/streamline-basic/metadata/altair.yaml b/plots/streamline-basic/metadata/altair.yaml
index dd96c2b749..e1750a7a65 100644
--- a/plots/streamline-basic/metadata/altair.yaml
+++ b/plots/streamline-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of Euler integration to trace streamlines in a declarative
diff --git a/plots/streamline-basic/metadata/bokeh.yaml b/plots/streamline-basic/metadata/bokeh.yaml
index 626ebf5cdc..2a586f86f3 100644
--- a/plots/streamline-basic/metadata/bokeh.yaml
+++ b/plots/streamline-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - patches
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of streamline tracing using Euler integration with proper
diff --git a/plots/streamline-basic/metadata/highcharts.yaml b/plots/streamline-basic/metadata/highcharts.yaml
index d0a90e6a28..a1a54acb04 100644
--- a/plots/streamline-basic/metadata/highcharts.yaml
+++ b/plots/streamline-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent viridis-inspired colorblind-safe color palette effectively encoding
diff --git a/plots/streamline-basic/metadata/letsplot.yaml b/plots/streamline-basic/metadata/letsplot.yaml
index 6f30aeccb0..1731a761bc 100644
--- a/plots/streamline-basic/metadata/letsplot.yaml
+++ b/plots/streamline-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of lets-plot ggplot2-style grammar with proper layering of geom_path,
diff --git a/plots/streamline-basic/metadata/matplotlib.yaml b/plots/streamline-basic/metadata/matplotlib.yaml
index ba3a6edf78..c43a12ea36 100644
--- a/plots/streamline-basic/metadata/matplotlib.yaml
+++ b/plots/streamline-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of matplotlib's streamplot with color-mapped velocity magnitude
diff --git a/plots/streamline-basic/metadata/plotly.yaml b/plots/streamline-basic/metadata/plotly.yaml
index be64326978..dcd40c73b1 100644
--- a/plots/streamline-basic/metadata/plotly.yaml
+++ b/plots/streamline-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/plotly/plot.html
quality_score: 85
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Clean vortex flow pattern clearly demonstrates streamline visualization
diff --git a/plots/streamline-basic/metadata/plotnine.yaml b/plots/streamline-basic/metadata/plotnine.yaml
index 55de475749..027e898a4f 100644
--- a/plots/streamline-basic/metadata/plotnine.yaml
+++ b/plots/streamline-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - colorbar
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent vortex flow visualization with concentric circular streamlines that
diff --git a/plots/streamline-basic/metadata/pygal.yaml b/plots/streamline-basic/metadata/pygal.yaml
index 4d9a59b96b..cc5caa3269 100644
--- a/plots/streamline-basic/metadata/pygal.yaml
+++ b/plots/streamline-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/pygal/plot.html
quality_score: 77
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Creative workaround for pygal lack of native streamline support using XY connected
diff --git a/plots/streamline-basic/metadata/seaborn.yaml b/plots/streamline-basic/metadata/seaborn.yaml
index 78dbb9d98d..67d75dd2a3 100644
--- a/plots/streamline-basic/metadata/seaborn.yaml
+++ b/plots/streamline-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/streamline-basi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/streamline-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent visual clarity with well-sized streamlines and viridis color encoding
diff --git a/plots/strip-basic/metadata/altair.yaml b/plots/strip-basic/metadata/altair.yaml
index ffad8f81d3..df35e67907 100644
--- a/plots/strip-basic/metadata/altair.yaml
+++ b/plots/strip-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/strip-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of Altair transform_calculate for implementing random jitter effect
diff --git a/plots/strip-basic/metadata/bokeh.yaml b/plots/strip-basic/metadata/bokeh.yaml
index bded49f668..912d7fa8ff 100644
--- a/plots/strip-basic/metadata/bokeh.yaml
+++ b/plots/strip-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/strip-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Good use of jitter to prevent overplotting while keeping points within category
diff --git a/plots/strip-basic/metadata/highcharts.yaml b/plots/strip-basic/metadata/highcharts.yaml
index 4db5b1dbc8..b250c2b218 100644
--- a/plots/strip-basic/metadata/highcharts.yaml
+++ b/plots/strip-basic/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/strip-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - manual-ticks
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent colorblind-safe palette with distinct, well-chosen colors
diff --git a/plots/strip-basic/metadata/letsplot.yaml b/plots/strip-basic/metadata/letsplot.yaml
index 0e823f54a0..2902e3b6d5 100644
--- a/plots/strip-basic/metadata/letsplot.yaml
+++ b/plots/strip-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/strip-basic/letsplot/plot.html
quality_score: 96
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
+ - grid-styling
review:
strengths:
- Excellent use of lets-plot ggplot2-style grammar with geom_jitter for strip plot
diff --git a/plots/strip-basic/metadata/matplotlib.yaml b/plots/strip-basic/metadata/matplotlib.yaml
index 8ecdc14d45..623c31752d 100644
--- a/plots/strip-basic/metadata/matplotlib.yaml
+++ b/plots/strip-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent data scenario using survey scores by department - directly matches spec
diff --git a/plots/strip-basic/metadata/plotly.yaml b/plots/strip-basic/metadata/plotly.yaml
index dfbfcc8015..6e02cbb858 100644
--- a/plots/strip-basic/metadata/plotly.yaml
+++ b/plots/strip-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/strip-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Clean implementation with well-structured code following KISS principles
diff --git a/plots/strip-basic/metadata/plotnine.yaml b/plots/strip-basic/metadata/plotnine.yaml
index 77879ae5b4..e387fa1abb 100644
--- a/plots/strip-basic/metadata/plotnine.yaml
+++ b/plots/strip-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent use of realistic medical research scenario with meaningful treatment
diff --git a/plots/strip-basic/metadata/pygal.yaml b/plots/strip-basic/metadata/pygal.yaml
index 471020c001..22d32a96ca 100644
--- a/plots/strip-basic/metadata/pygal.yaml
+++ b/plots/strip-basic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/strip-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of strip plot using pygal XY chart with manual jitter
diff --git a/plots/strip-basic/metadata/seaborn.yaml b/plots/strip-basic/metadata/seaborn.yaml
index 5087ad34d7..f09e200b06 100644
--- a/plots/strip-basic/metadata/seaborn.yaml
+++ b/plots/strip-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/strip-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/strip-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - custom-legend
+ patterns:
+ - data-generation
+ - explicit-figure
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of modern seaborn API with hue parameter to avoid FutureWarning
diff --git a/plots/subplot-grid-custom/metadata/altair.yaml b/plots/subplot-grid-custom/metadata/altair.yaml
index 63f7f100d2..31bc5dd2f1 100644
--- a/plots/subplot-grid-custom/metadata/altair.yaml
+++ b/plots/subplot-grid-custom/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of dashboard-style grid using Altair's native vconcat/hconcat
diff --git a/plots/subplot-grid-custom/metadata/bokeh.yaml b/plots/subplot-grid-custom/metadata/bokeh.yaml
index 5ecafe26e6..b222fa4223 100644
--- a/plots/subplot-grid-custom/metadata/bokeh.yaml
+++ b/plots/subplot-grid-custom/metadata/bokeh.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - columndatasource
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
+ - edge-highlighting
review:
strengths:
- Excellent dashboard-style layout demonstrating non-uniform subplot sizes with
diff --git a/plots/subplot-grid-custom/metadata/highcharts.yaml b/plots/subplot-grid-custom/metadata/highcharts.yaml
index ce91920e4b..b7ae260ac6 100644
--- a/plots/subplot-grid-custom/metadata/highcharts.yaml
+++ b/plots/subplot-grid-custom/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - subplots
+ - html-export
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent custom grid layout with CSS Grid demonstrating colspan/rowspan effectively
diff --git a/plots/subplot-grid-custom/metadata/letsplot.yaml b/plots/subplot-grid-custom/metadata/letsplot.yaml
index cc7e532a77..6991076ab0 100644
--- a/plots/subplot-grid-custom/metadata/letsplot.yaml
+++ b/plots/subplot-grid-custom/metadata/letsplot.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ - annotations
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - correlation-matrix
+ styling: []
review:
strengths:
- Excellent demonstration of ggbunch for flexible subplot positioning with relative
diff --git a/plots/subplot-grid-custom/metadata/matplotlib.yaml b/plots/subplot-grid-custom/metadata/matplotlib.yaml
index 3eb366a044..6f148a61e2 100644
--- a/plots/subplot-grid-custom/metadata/matplotlib.yaml
+++ b/plots/subplot-grid-custom/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
+ - minimal-chrome
review:
strengths:
- Excellent GridSpec layout with main panel spanning 2 rows and 2 columns, demonstrating
diff --git a/plots/subplot-grid-custom/metadata/plotly.yaml b/plots/subplot-grid-custom/metadata/plotly.yaml
index 2652dfa9b9..813b22af1c 100644
--- a/plots/subplot-grid-custom/metadata/plotly.yaml
+++ b/plots/subplot-grid-custom/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of custom subplot grid with colspan specification
diff --git a/plots/subplot-grid-custom/metadata/plotnine.yaml b/plots/subplot-grid-custom/metadata/plotnine.yaml
index d0d8d623dd..72d64a8fdb 100644
--- a/plots/subplot-grid-custom/metadata/plotnine.yaml
+++ b/plots/subplot-grid-custom/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent dashboard layout demonstrating custom grid with non-uniform cell sizes
diff --git a/plots/subplot-grid-custom/metadata/seaborn.yaml b/plots/subplot-grid-custom/metadata/seaborn.yaml
index 7910727c40..9b1621ea11 100644
--- a/plots/subplot-grid-custom/metadata/seaborn.yaml
+++ b/plots/subplot-grid-custom/metadata/seaborn.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-cu
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid-custom/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - colorbar
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
+ - grid-styling
review:
strengths:
- Excellent dashboard layout demonstrating GridSpec with main plot spanning 2x2
diff --git a/plots/subplot-grid/metadata/altair.yaml b/plots/subplot-grid/metadata/altair.yaml
index 9914228a17..7247df2831 100644
--- a/plots/subplot-grid/metadata/altair.yaml
+++ b/plots/subplot-grid/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of 4 distinct plot types in a cohesive 2x2 grid demonstrating
diff --git a/plots/subplot-grid/metadata/bokeh.yaml b/plots/subplot-grid/metadata/bokeh.yaml
index afe263bc2a..f8f6c3902c 100644
--- a/plots/subplot-grid/metadata/bokeh.yaml
+++ b/plots/subplot-grid/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ - columndatasource
+ - grid-styling
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of a cohesive financial dashboard demonstrating diverse
diff --git a/plots/subplot-grid/metadata/highcharts.yaml b/plots/subplot-grid/metadata/highcharts.yaml
index 3a86a3eda6..83bafb21af 100644
--- a/plots/subplot-grid/metadata/highcharts.yaml
+++ b/plots/subplot-grid/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - subplots
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of a financial dashboard subplot grid with 4 distinct
diff --git a/plots/subplot-grid/metadata/letsplot.yaml b/plots/subplot-grid/metadata/letsplot.yaml
index ca981a1cbd..0b52e633a4 100644
--- a/plots/subplot-grid/metadata/letsplot.yaml
+++ b/plots/subplot-grid/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent financial dashboard theme demonstrating diverse plot types in a cohesive
@@ -27,15 +36,26 @@ review:
- Does not leverage lets-plot distinctive interactive features (tooltips, coordinated
brushing) even in static output
- Scatter points in bottom-right plot could be slightly larger for better visibility
- image_description: |-
- The plot displays a 2x2 grid of financial dashboard visualizations:
- - **Top-left**: Stock price line chart (blue solid line) with 10-day moving average (yellow dashed line), showing prices from ~$85-$110 over 60 trading days
- - **Top-right**: Daily trading volume bar chart (blue bars) showing volume in millions, ranging from ~0.5-2.2M
- - **Bottom-left**: Histogram of daily returns (blue bars with darker border) centered around 0%, with a yellow dashed vertical line at zero
- - **Bottom-right**: Scatter plot with linear regression showing volume vs absolute return relationship, blue points with yellow trend line and gray confidence band
+ image_description: 'The plot displays a 2x2 grid of financial dashboard visualizations:
+
+ - **Top-left**: Stock price line chart (blue solid line) with 10-day moving average
+ (yellow dashed line), showing prices from ~$85-$110 over 60 trading days
+
+ - **Top-right**: Daily trading volume bar chart (blue bars) showing volume in
+ millions, ranging from ~0.5-2.2M
+
+ - **Bottom-left**: Histogram of daily returns (blue bars with darker border) centered
+ around 0%, with a yellow dashed vertical line at zero
+
+ - **Bottom-right**: Scatter plot with linear regression showing volume vs absolute
+ return relationship, blue points with yellow trend line and gray confidence band
+
- Overall title: "subplot-grid · lets-plot · pyplots.ai" at top
- - Each subplot has its own descriptive title, and all use consistent blue (#306998) and yellow (#FFD43B) color scheme
- - Clean minimal theme with subtle gray gridlines
+
+ - Each subplot has its own descriptive title, and all use consistent blue (#306998)
+ and yellow (#FFD43B) color scheme
+
+ - Clean minimal theme with subtle gray gridlines'
criteria_checklist:
visual_quality:
score: 37
diff --git a/plots/subplot-grid/metadata/matplotlib.yaml b/plots/subplot-grid/metadata/matplotlib.yaml
index 2da9f56cb5..06322865be 100644
--- a/plots/subplot-grid/metadata/matplotlib.yaml
+++ b/plots/subplot-grid/metadata/matplotlib.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - colorbar
+ - manual-ticks
+ - grid-styling
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent financial dashboard example perfectly demonstrating the subplot-grid
diff --git a/plots/subplot-grid/metadata/plotly.yaml b/plots/subplot-grid/metadata/plotly.yaml
index d6a4acbe0e..de7785cff3 100644
--- a/plots/subplot-grid/metadata/plotly.yaml
+++ b/plots/subplot-grid/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of Plotly's make_subplots capability with different chart
diff --git a/plots/subplot-grid/metadata/plotnine.yaml b/plots/subplot-grid/metadata/plotnine.yaml
index f0de576990..f85ea71368 100644
--- a/plots/subplot-grid/metadata/plotnine.yaml
+++ b/plots/subplot-grid/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine native patchwork-style composition operators (| and
@@ -23,13 +33,25 @@ review:
- Main title positioning overlaps slightly with Sales Trend subplot title - could
benefit from more vertical spacing
- The legend in the sales trend plot consumes plot area; consider positioning outside
- image_description: |-
- The plot displays a well-organized 2x2 grid layout showcasing a product performance dashboard:
- - **Top-left (Sales Trend)**: Line chart with two product series (A in blue, B in yellow) showing sales over 40 days. Points are connected by solid lines with dashed linear trend lines. Legend on the right shows "Product" with A and B entries.
- - **Top-right (Quarterly Revenue)**: Vertical bar chart with Q1-Q4 quarters. Bars gradient from dark blue (Q1=45) through lighter blues (Q2, Q3) to yellow (Q4=18).
- - **Bottom-left (Sales Distribution Product A)**: Histogram with ~8 blue bars showing frequency distribution of sales units, ranging roughly 85-130 units.
- - **Bottom-right (Units vs Margin)**: Scatter plot with blue points showing relationship between units sold (100-500) and profit margin (20-45%). Yellow regression line with light yellow confidence band.
- The main title "subplot-grid · plotnine · pyplots.ai" appears prominently in bold at the top center. All text is legible with good contrast against white backgrounds.
+ image_description: 'The plot displays a well-organized 2x2 grid layout showcasing
+ a product performance dashboard:
+
+ - **Top-left (Sales Trend)**: Line chart with two product series (A in blue, B
+ in yellow) showing sales over 40 days. Points are connected by solid lines with
+ dashed linear trend lines. Legend on the right shows "Product" with A and B entries.
+
+ - **Top-right (Quarterly Revenue)**: Vertical bar chart with Q1-Q4 quarters. Bars
+ gradient from dark blue (Q1=45) through lighter blues (Q2, Q3) to yellow (Q4=18).
+
+ - **Bottom-left (Sales Distribution Product A)**: Histogram with ~8 blue bars
+ showing frequency distribution of sales units, ranging roughly 85-130 units.
+
+ - **Bottom-right (Units vs Margin)**: Scatter plot with blue points showing relationship
+ between units sold (100-500) and profit margin (20-45%). Yellow regression line
+ with light yellow confidence band.
+
+ The main title "subplot-grid · plotnine · pyplots.ai" appears prominently in bold
+ at the top center. All text is legible with good contrast against white backgrounds.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/subplot-grid/metadata/pygal.yaml b/plots/subplot-grid/metadata/pygal.yaml
index 8119d88b7a..d08f167a35 100644
--- a/plots/subplot-grid/metadata/pygal.yaml
+++ b/plots/subplot-grid/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ - cairosvg
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of pygal versatility with four distinct chart types (Line,
diff --git a/plots/subplot-grid/metadata/seaborn.yaml b/plots/subplot-grid/metadata/seaborn.yaml
index a9b3c370ec..a8175fc64a 100644
--- a/plots/subplot-grid/metadata/seaborn.yaml
+++ b/plots/subplot-grid/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-grid/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - colorbar
+ - grid-styling
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent 2x2 grid layout with four distinct plot types (line, bar, histogram,
diff --git a/plots/subplot-mosaic/metadata/altair.yaml b/plots/subplot-mosaic/metadata/altair.yaml
index 14e753db66..d4f5663e9d 100644
--- a/plots/subplot-mosaic/metadata/altair.yaml
+++ b/plots/subplot-mosaic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of mosaic layout concept using Altair concatenation operators
diff --git a/plots/subplot-mosaic/metadata/bokeh.yaml b/plots/subplot-mosaic/metadata/bokeh.yaml
index 2bd330cb97..d8f6c81f4c 100644
--- a/plots/subplot-mosaic/metadata/bokeh.yaml
+++ b/plots/subplot-mosaic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/bokeh/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - columndatasource
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent demonstration of mosaic layout concept with 6 diverse subplots of varying
@@ -31,16 +41,31 @@ review:
larger for better readability
- Could demonstrate Bokeh interactive features (hover tools, linked brushing) for
richer dashboard experience
- image_description: |-
- The plot displays a business dashboard mosaic layout with 6 subplots of varying sizes:
- 1. **Top-left (large, ~2/3 width)**: "Quarterly Revenue Overview" - Blue line chart with markers showing daily revenue ($50k-$62k) over 90 days
- 2. **Top-right (~1/3 width)**: "Product Profitability" - Scatter plot with blue (Premium Line) and yellow (Standard Line) dots showing profit margin vs units sold
- 3. **Middle-left (~half width)**: "Sales by Category" - Blue vertical bar chart for Electronics, Clothing, Food, Books
- 4. **Middle-right top (small)**: "Conversion Rate (%)" - Line chart with blue and yellow lines tracking weekly conversion rates
- 5. **Middle-right bottom (small)**: "Customer Satisfaction" - Yellow bar chart showing quarterly scores (Q1-Q4: 78-88)
- 6. **Bottom (full width)**: Main title "subplot-mosaic · bokeh · pyplots.ai" - Dual line chart comparing 2023 (blue) vs 2024 (green) monthly orders
+ image_description: 'The plot displays a business dashboard mosaic layout with 6
+ subplots of varying sizes:
- Colors: Python Blue (#306998), Python Yellow (#FFD43B), Accent Green (#4CAF50). Legends present on most subplots. Dashed subtle grids. Clean professional appearance.
+ 1. **Top-left (large, ~2/3 width)**: "Quarterly Revenue Overview" - Blue line
+ chart with markers showing daily revenue ($50k-$62k) over 90 days
+
+ 2. **Top-right (~1/3 width)**: "Product Profitability" - Scatter plot with blue
+ (Premium Line) and yellow (Standard Line) dots showing profit margin vs units
+ sold
+
+ 3. **Middle-left (~half width)**: "Sales by Category" - Blue vertical bar chart
+ for Electronics, Clothing, Food, Books
+
+ 4. **Middle-right top (small)**: "Conversion Rate (%)" - Line chart with blue
+ and yellow lines tracking weekly conversion rates
+
+ 5. **Middle-right bottom (small)**: "Customer Satisfaction" - Yellow bar chart
+ showing quarterly scores (Q1-Q4: 78-88)
+
+ 6. **Bottom (full width)**: Main title "subplot-mosaic · bokeh · pyplots.ai" -
+ Dual line chart comparing 2023 (blue) vs 2024 (green) monthly orders
+
+
+ Colors: Python Blue (#306998), Python Yellow (#FFD43B), Accent Green (#4CAF50).
+ Legends present on most subplots. Dashed subtle grids. Clean professional appearance.'
criteria_checklist:
visual_quality:
score: 35
diff --git a/plots/subplot-mosaic/metadata/highcharts.yaml b/plots/subplot-mosaic/metadata/highcharts.yaml
index fe418c45aa..cc3cc21393 100644
--- a/plots/subplot-mosaic/metadata/highcharts.yaml
+++ b/plots/subplot-mosaic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent mosaic layout implementation using CSS Grid with AAB/AAB/CCC pattern
diff --git a/plots/subplot-mosaic/metadata/letsplot.yaml b/plots/subplot-mosaic/metadata/letsplot.yaml
index 9f33587827..522bbc7a12 100644
--- a/plots/subplot-mosaic/metadata/letsplot.yaml
+++ b/plots/subplot-mosaic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent demonstration of ggbunch() for complex mosaic layouts with precise region
diff --git a/plots/subplot-mosaic/metadata/matplotlib.yaml b/plots/subplot-mosaic/metadata/matplotlib.yaml
index f927cb3b28..307b475bd2 100644
--- a/plots/subplot-mosaic/metadata/matplotlib.yaml
+++ b/plots/subplot-mosaic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
+ - minimal-chrome
review:
strengths:
- Excellent demonstration of plt.subplot_mosaic() with the AAB;AAB;CDE pattern -
diff --git a/plots/subplot-mosaic/metadata/plotly.yaml b/plots/subplot-mosaic/metadata/plotly.yaml
index bd1fd4b9a5..ab8a3b087f 100644
--- a/plots/subplot-mosaic/metadata/plotly.yaml
+++ b/plots/subplot-mosaic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent mosaic layout implementation using Plotly make_subplots with colspan
@@ -29,16 +39,30 @@ review:
spec
- Bottom row metric panels feel slightly cramped; row_heights could be adjusted
for better balance
- image_description: |-
- The plot displays a dashboard-style mosaic layout with 7 subplots arranged in a 3-row structure. The title "subplot-mosaic · plotly · pyplots.ai" appears at the top center.
+ image_description: 'The plot displays a dashboard-style mosaic layout with 7 subplots
+ arranged in a 3-row structure. The title "subplot-mosaic · plotly · pyplots.ai"
+ appears at the top center.
- **Row 1:** A wide "Revenue Trend (Overview)" line chart with blue fill spans 2 columns on the left, showing an upward trend from ~50k to ~62k over Jan-Apr 2024. A narrower "Monthly Sales" bar chart (yellow bars) occupies the right column, displaying Jan-Jun sales data.
- **Row 2:** A "Product Performance" scatter plot with blue markers spans 2 columns showing Feature X vs Feature Y distribution (80 points). A "Category Distribution" horizontal bar chart with multi-colored bars (blue, yellow, gray, brown) shows Electronics, Clothing, Food, Books, Sports categories on the right.
+ **Row 1:** A wide "Revenue Trend (Overview)" line chart with blue fill spans 2
+ columns on the left, showing an upward trend from ~50k to ~62k over Jan-Apr 2024.
+ A narrower "Monthly Sales" bar chart (yellow bars) occupies the right column,
+ displaying Jan-Jun sales data.
- **Row 3:** Three smaller metric panels - "Efficiency" (blue area chart, 0-100%), "Quality Score" (yellow area chart, 0-70 Score), and "Response Time" (blue line chart, 0-60 ms), each showing 30-day trends.
- Colors are consistent (blue #306998, yellow #FFD43B). All text is legible. Layout shows clear visual hierarchy with larger panels for primary data.
+ **Row 2:** A "Product Performance" scatter plot with blue markers spans 2 columns
+ showing Feature X vs Feature Y distribution (80 points). A "Category Distribution"
+ horizontal bar chart with multi-colored bars (blue, yellow, gray, brown) shows
+ Electronics, Clothing, Food, Books, Sports categories on the right.
+
+
+ **Row 3:** Three smaller metric panels - "Efficiency" (blue area chart, 0-100%),
+ "Quality Score" (yellow area chart, 0-70 Score), and "Response Time" (blue line
+ chart, 0-60 ms), each showing 30-day trends.
+
+
+ Colors are consistent (blue #306998, yellow #FFD43B). All text is legible. Layout
+ shows clear visual hierarchy with larger panels for primary data.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/subplot-mosaic/metadata/plotnine.yaml b/plots/subplot-mosaic/metadata/plotnine.yaml
index 5781808624..defdb6db75 100644
--- a/plots/subplot-mosaic/metadata/plotnine.yaml
+++ b/plots/subplot-mosaic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of plotnine composition operators (| and /) to create mosaic-like
diff --git a/plots/subplot-mosaic/metadata/pygal.yaml b/plots/subplot-mosaic/metadata/pygal.yaml
index e9c2fd8f98..def441e28e 100644
--- a/plots/subplot-mosaic/metadata/pygal.yaml
+++ b/plots/subplot-mosaic/metadata/pygal.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of mosaic layout concept with 5 diverse chart types showing
@@ -24,14 +35,30 @@ review:
- Uses helper functions (render_chart_to_image, get_svg_content) which violates
KISS principle for plot implementations
- Does not demonstrate empty cell placeholder feature mentioned in spec
- image_description: |-
- The plot displays a mosaic dashboard layout with 5 panels arranged in an "AAB;AAC;DDE" pattern:
- - **Panel A (top-left, 2×2)**: Line chart showing "Monthly Revenue vs Costs" with blue revenue line and yellow costs line over 12 months (Jan-Dec). Both lines show upward trends with revenue ranging ~120-218 and costs ~85-135. Dots mark data points, legend at bottom.
- - **Panel B (top-right)**: Horizontal bar chart "Sales by Category" showing 5 categories (Electronics: 450, Clothing: 320, Home: 280, Sports: 195, Books: 165) with values printed in bars using pyplots color palette.
- - **Panel C (middle-right)**: Donut chart "Regional Share" showing North (blue, ~35%), South (yellow), East (green), West (orange) with legend at bottom.
- - **Panel D (bottom-left, 2×1)**: XY scatter plot "Marketing ROI Correlation" with Marketing Spend ($K) on x-axis and Sales ($K) on y-axis, showing positive correlation with ~40 blue dots.
- - **Panel E (bottom-right)**: Half-pie solid gauge "Target Achievement" showing 78% progress with blue fill.
- - Main title "subplot-mosaic · pygal · pyplots.ai" centered at top in dark gray. White background with light gray plot backgrounds.
+ image_description: 'The plot displays a mosaic dashboard layout with 5 panels arranged
+ in an "AAB;AAC;DDE" pattern:
+
+ - **Panel A (top-left, 2×2)**: Line chart showing "Monthly Revenue vs Costs" with
+ blue revenue line and yellow costs line over 12 months (Jan-Dec). Both lines show
+ upward trends with revenue ranging ~120-218 and costs ~85-135. Dots mark data
+ points, legend at bottom.
+
+ - **Panel B (top-right)**: Horizontal bar chart "Sales by Category" showing 5
+ categories (Electronics: 450, Clothing: 320, Home: 280, Sports: 195, Books: 165)
+ with values printed in bars using pyplots color palette.
+
+ - **Panel C (middle-right)**: Donut chart "Regional Share" showing North (blue,
+ ~35%), South (yellow), East (green), West (orange) with legend at bottom.
+
+ - **Panel D (bottom-left, 2×1)**: XY scatter plot "Marketing ROI Correlation"
+ with Marketing Spend ($K) on x-axis and Sales ($K) on y-axis, showing positive
+ correlation with ~40 blue dots.
+
+ - **Panel E (bottom-right)**: Half-pie solid gauge "Target Achievement" showing
+ 78% progress with blue fill.
+
+ - Main title "subplot-mosaic · pygal · pyplots.ai" centered at top in dark gray.
+ White background with light gray plot backgrounds.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/subplot-mosaic/metadata/seaborn.yaml b/plots/subplot-mosaic/metadata/seaborn.yaml
index f0c1d14e34..21aad24ca4 100644
--- a/plots/subplot-mosaic/metadata/seaborn.yaml
+++ b/plots/subplot-mosaic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/subplot-mosaic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - manual-ticks
+ patterns:
+ - data-generation
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of complex mosaic layout demonstrating the ASCII-art
@@ -29,16 +40,34 @@ review:
or statistical annotations
- Feature coverage could include additional plot types to better demonstrate mosaic
flexibility
- image_description: |-
- The plot displays a 7-panel mosaic dashboard layout with the title "subplot-mosaic · seaborn · pyplots.ai" at the top. The layout follows an "AAB;CCD;EFG" pattern:
- - **Panel A (top-left, spanning 2 columns)**: A blue line chart showing "Revenue Trend Overview" from late December 2023 to early April 2024, with revenue ranging from ~50,000 to ~65,000 dollars.
- - **Panel B (top-right)**: A yellow scatter plot titled "Marketing ROI" showing Marketing Spend ($K) vs Conversions with blue-edged circular markers.
- - **Panel C (middle-left, spanning 2 columns)**: A bar chart "Sales by Channel" showing four bars (Online, Retail, Partner, Direct) in blue and yellow colors.
- - **Panel D (middle-right)**: A histogram "Response Times" showing a bimodal distribution of response times in milliseconds.
- - **Panel E (bottom-left)**: A small blue line chart "CPU Usage" showing hourly CPU percentage.
- - **Panel F (bottom-center)**: A small yellow line chart "Memory Usage" showing hourly memory percentage.
- - **Panel G (bottom-right)**: A box plot "Latency" showing latency distribution across four regions (North, South, East, West) with different colored boxes.
- All panels have subtle gray grid lines, clear axis labels with units, and appropriate font sizes.
+ image_description: 'The plot displays a 7-panel mosaic dashboard layout with the
+ title "subplot-mosaic · seaborn · pyplots.ai" at the top. The layout follows an
+ "AAB;CCD;EFG" pattern:
+
+ - **Panel A (top-left, spanning 2 columns)**: A blue line chart showing "Revenue
+ Trend Overview" from late December 2023 to early April 2024, with revenue ranging
+ from ~50,000 to ~65,000 dollars.
+
+ - **Panel B (top-right)**: A yellow scatter plot titled "Marketing ROI" showing
+ Marketing Spend ($K) vs Conversions with blue-edged circular markers.
+
+ - **Panel C (middle-left, spanning 2 columns)**: A bar chart "Sales by Channel"
+ showing four bars (Online, Retail, Partner, Direct) in blue and yellow colors.
+
+ - **Panel D (middle-right)**: A histogram "Response Times" showing a bimodal distribution
+ of response times in milliseconds.
+
+ - **Panel E (bottom-left)**: A small blue line chart "CPU Usage" showing hourly
+ CPU percentage.
+
+ - **Panel F (bottom-center)**: A small yellow line chart "Memory Usage" showing
+ hourly memory percentage.
+
+ - **Panel G (bottom-right)**: A box plot "Latency" showing latency distribution
+ across four regions (North, South, East, West) with different colored boxes.
+
+ All panels have subtle gray grid lines, clear axis labels with units, and appropriate
+ font sizes.'
criteria_checklist:
visual_quality:
score: 37
diff --git a/plots/sudoku-basic/metadata/altair.yaml b/plots/sudoku-basic/metadata/altair.yaml
index a47c45682b..0713afd570 100644
--- a/plots/sudoku-basic/metadata/altair.yaml
+++ b/plots/sudoku-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with clear thick/thin line distinction for 3×3 boxes
diff --git a/plots/sudoku-basic/metadata/bokeh.yaml b/plots/sudoku-basic/metadata/bokeh.yaml
index 00e0297c2d..6aceb00f28 100644
--- a/plots/sudoku-basic/metadata/bokeh.yaml
+++ b/plots/sudoku-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/bokeh/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with clear thick/thin line distinction for 3×3 boxes
diff --git a/plots/sudoku-basic/metadata/highcharts.yaml b/plots/sudoku-basic/metadata/highcharts.yaml
index a0bcefa62a..591c57490d 100644
--- a/plots/sudoku-basic/metadata/highcharts.yaml
+++ b/plots/sudoku-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - pillow
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of the Sudoku grid visual hierarchy with thick 3×3 box
diff --git a/plots/sudoku-basic/metadata/letsplot.yaml b/plots/sudoku-basic/metadata/letsplot.yaml
index c902ad31d8..10f58ee61d 100644
--- a/plots/sudoku-basic/metadata/letsplot.yaml
+++ b/plots/sudoku-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/letsplot/plot.html
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with thick/thin grid lines clearly distinguishing 3x3
diff --git a/plots/sudoku-basic/metadata/matplotlib.yaml b/plots/sudoku-basic/metadata/matplotlib.yaml
index 5d2ead0477..aba5647659 100644
--- a/plots/sudoku-basic/metadata/matplotlib.yaml
+++ b/plots/sudoku-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with clear thick/thin line distinction for 3×3 boxes
diff --git a/plots/sudoku-basic/metadata/plotly.yaml b/plots/sudoku-basic/metadata/plotly.yaml
index 29023befe3..e681ede371 100644
--- a/plots/sudoku-basic/metadata/plotly.yaml
+++ b/plots/sudoku-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with clearly distinguishable thick (3×3 box) and thin
diff --git a/plots/sudoku-basic/metadata/plotnine.yaml b/plots/sudoku-basic/metadata/plotnine.yaml
index 340cf98a4d..5a7e12bfc4 100644
--- a/plots/sudoku-basic/metadata/plotnine.yaml
+++ b/plots/sudoku-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with thick/thin line differentiation for 3×3 boxes
diff --git a/plots/sudoku-basic/metadata/pygal.yaml b/plots/sudoku-basic/metadata/pygal.yaml
index f7bf6d6df2..07771c76ee 100644
--- a/plots/sudoku-basic/metadata/pygal.yaml
+++ b/plots/sudoku-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent visual execution of Sudoku grid with clear visual hierarchy between
diff --git a/plots/sudoku-basic/metadata/seaborn.yaml b/plots/sudoku-basic/metadata/seaborn.yaml
index 71cf6695cd..d8ca001517 100644
--- a/plots/sudoku-basic/metadata/seaborn.yaml
+++ b/plots/sudoku-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sudoku-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
+ - minimal-chrome
review:
strengths:
- Excellent visual hierarchy with clear distinction between 3×3 box boundaries and
diff --git a/plots/sunburst-basic/metadata/altair.yaml b/plots/sunburst-basic/metadata/altair.yaml
index 133097eb91..fb4a1613ea 100644
--- a/plots/sunburst-basic/metadata/altair.yaml
+++ b/plots/sunburst-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical color scheme with consistent lighter shades for child levels
diff --git a/plots/sunburst-basic/metadata/bokeh.yaml b/plots/sunburst-basic/metadata/bokeh.yaml
index f6500895ee..9f58e7d0b8 100644
--- a/plots/sunburst-basic/metadata/bokeh.yaml
+++ b/plots/sunburst-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical visualization with clear color gradients showing parent-child
diff --git a/plots/sunburst-basic/metadata/highcharts.yaml b/plots/sunburst-basic/metadata/highcharts.yaml
index 239832daa1..089ca6d613 100644
--- a/plots/sunburst-basic/metadata/highcharts.yaml
+++ b/plots/sunburst-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts sunburst module with proper parent-child ID references
diff --git a/plots/sunburst-basic/metadata/letsplot.yaml b/plots/sunburst-basic/metadata/letsplot.yaml
index 7de32e925b..1499443d03 100644
--- a/plots/sunburst-basic/metadata/letsplot.yaml
+++ b/plots/sunburst-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual hierarchy with clear color progression from dark to light across
diff --git a/plots/sunburst-basic/metadata/matplotlib.yaml b/plots/sunburst-basic/metadata/matplotlib.yaml
index e3247f12ed..d6aeabe7c6 100644
--- a/plots/sunburst-basic/metadata/matplotlib.yaml
+++ b/plots/sunburst-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical color scheme with consistent branch coloring (children
diff --git a/plots/sunburst-basic/metadata/plotly.yaml b/plots/sunburst-basic/metadata/plotly.yaml
index 3d6d22818c..93895f9dfa 100644
--- a/plots/sunburst-basic/metadata/plotly.yaml
+++ b/plots/sunburst-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical data representation with clear parent-child relationships
diff --git a/plots/sunburst-basic/metadata/seaborn.yaml b/plots/sunburst-basic/metadata/seaborn.yaml
index d2060761f0..9d2e8935b7 100644
--- a/plots/sunburst-basic/metadata/seaborn.yaml
+++ b/plots/sunburst-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/sunburst-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - subplots
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent sunburst visualization with three clear hierarchical levels (Department
diff --git a/plots/surface-basic/metadata/altair.yaml b/plots/surface-basic/metadata/altair.yaml
index a423db7847..9a9a1f85d6 100644
--- a/plots/surface-basic/metadata/altair.yaml
+++ b/plots/surface-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/surface-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/surface-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/surface-basic/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - hover-tooltips
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Impressive creative solution implementing 3D surface in a 2D library using manual
diff --git a/plots/surface-basic/metadata/bokeh.yaml b/plots/surface-basic/metadata/bokeh.yaml
index db49e2791f..ca06c36eac 100644
--- a/plots/surface-basic/metadata/bokeh.yaml
+++ b/plots/surface-basic/metadata/bokeh.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/surface-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/surface-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/surface-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - patches
+ - colorbar
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- 'Excellent creative solution: Bokeh lacks native 3D support, but the implementation
diff --git a/plots/surface-basic/metadata/highcharts.yaml b/plots/surface-basic/metadata/highcharts.yaml
index 02602cab94..fe2bd39299 100644
--- a/plots/surface-basic/metadata/highcharts.yaml
+++ b/plots/surface-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/surface-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/surface-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/surface-basic/highcharts/plot.html
quality_score: 87
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - 3d-projection
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts 3D capabilities including scatter3d chart type and
diff --git a/plots/surface-basic/metadata/letsplot.yaml b/plots/surface-basic/metadata/letsplot.yaml
index ca8d2277d2..3d6ec6dafd 100644
--- a/plots/surface-basic/metadata/letsplot.yaml
+++ b/plots/surface-basic/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/surface-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/surface-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/surface-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative solution to render 3D surfaces in lets-plot (a 2D library)
diff --git a/plots/surface-basic/metadata/matplotlib.yaml b/plots/surface-basic/metadata/matplotlib.yaml
index ad3a49f006..64e10fa5e2 100644
--- a/plots/surface-basic/metadata/matplotlib.yaml
+++ b/plots/surface-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/surface-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/surface-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of viridis colormap for colorblind accessibility
diff --git a/plots/surface-basic/metadata/plotly.yaml b/plots/surface-basic/metadata/plotly.yaml
index 9024b6a1b3..09e8af637c 100644
--- a/plots/surface-basic/metadata/plotly.yaml
+++ b/plots/surface-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/surface-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/surface-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/surface-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - colorbar
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of Viridis colormap for colorblind accessibility and depth perception
diff --git a/plots/survival-kaplan-meier/metadata/altair.yaml b/plots/survival-kaplan-meier/metadata/altair.yaml
index 188232b409..74e27fcab0 100644
--- a/plots/survival-kaplan-meier/metadata/altair.yaml
+++ b/plots/survival-kaplan-meier/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual execution with step-function curves, CI bands, and censoring
diff --git a/plots/survival-kaplan-meier/metadata/bokeh.yaml b/plots/survival-kaplan-meier/metadata/bokeh.yaml
index e8a0416a56..8c54cccb20 100644
--- a/plots/survival-kaplan-meier/metadata/bokeh.yaml
+++ b/plots/survival-kaplan-meier/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Kaplan-Meier algorithm with proper step functions
diff --git a/plots/survival-kaplan-meier/metadata/highcharts.yaml b/plots/survival-kaplan-meier/metadata/highcharts.yaml
index a8e1e31f3e..1ae789a416 100644
--- a/plots/survival-kaplan-meier/metadata/highcharts.yaml
+++ b/plots/survival-kaplan-meier/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Inline Kaplan-Meier calculation with Greenwood formula for CI (KISS principle
diff --git a/plots/survival-kaplan-meier/metadata/letsplot.yaml b/plots/survival-kaplan-meier/metadata/letsplot.yaml
index 19199cb399..7f6b3c2a05 100644
--- a/plots/survival-kaplan-meier/metadata/letsplot.yaml
+++ b/plots/survival-kaplan-meier/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Kaplan-Meier survival curves using lets-plot ggplot2
diff --git a/plots/survival-kaplan-meier/metadata/matplotlib.yaml b/plots/survival-kaplan-meier/metadata/matplotlib.yaml
index 2a7fdab28c..3cda92ec8a 100644
--- a/plots/survival-kaplan-meier/metadata/matplotlib.yaml
+++ b/plots/survival-kaplan-meier/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Kaplan-Meier step functions using ax.step with correct
diff --git a/plots/survival-kaplan-meier/metadata/plotly.yaml b/plots/survival-kaplan-meier/metadata/plotly.yaml
index 247021eee5..1301dd2a51 100644
--- a/plots/survival-kaplan-meier/metadata/plotly.yaml
+++ b/plots/survival-kaplan-meier/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the Kaplan-Meier algorithm with Greenwood formula
diff --git a/plots/survival-kaplan-meier/metadata/plotnine.yaml b/plots/survival-kaplan-meier/metadata/plotnine.yaml
index cf70ec7da5..e2d558a8d8 100644
--- a/plots/survival-kaplan-meier/metadata/plotnine.yaml
+++ b/plots/survival-kaplan-meier/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of Kaplan-Meier survival curves using plotnine native
diff --git a/plots/survival-kaplan-meier/metadata/pygal.yaml b/plots/survival-kaplan-meier/metadata/pygal.yaml
index a0d7422e77..8eefde8870 100644
--- a/plots/survival-kaplan-meier/metadata/pygal.yaml
+++ b/plots/survival-kaplan-meier/metadata/pygal.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/pygal/plot.html
quality_score: 86
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-colormap
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Correct implementation of Kaplan-Meier step function using pygal XY chart
diff --git a/plots/survival-kaplan-meier/metadata/seaborn.yaml b/plots/survival-kaplan-meier/metadata/seaborn.yaml
index d0ac6928b5..a7fac881e2 100644
--- a/plots/survival-kaplan-meier/metadata/seaborn.yaml
+++ b/plots/survival-kaplan-meier/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/survival-kaplan-meier/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent Kaplan-Meier step function implementation with proper survival probability
diff --git a/plots/swarm-basic/metadata/altair.yaml b/plots/swarm-basic/metadata/altair.yaml
index 6f5e1a8763..ae01b7de0c 100644
--- a/plots/swarm-basic/metadata/altair.yaml
+++ b/plots/swarm-basic/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/alt
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent data design with four distinct distribution patterns (tight, wide, bimodal,
diff --git a/plots/swarm-basic/metadata/bokeh.yaml b/plots/swarm-basic/metadata/bokeh.yaml
index 94b77254b4..461bc442ef 100644
--- a/plots/swarm-basic/metadata/bokeh.yaml
+++ b/plots/swarm-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/bok
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent custom swarm jitter algorithm that creates proper beeswarm layout based
diff --git a/plots/swarm-basic/metadata/highcharts.yaml b/plots/swarm-basic/metadata/highcharts.yaml
index 00b6cf908a..68edda9671 100644
--- a/plots/swarm-basic/metadata/highcharts.yaml
+++ b/plots/swarm-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/hig
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - grid-styling
review:
strengths:
- Excellent swarm algorithm implementation that spreads points horizontally to avoid
diff --git a/plots/swarm-basic/metadata/letsplot.yaml b/plots/swarm-basic/metadata/letsplot.yaml
index c988feb5b2..0f0d8a629e 100644
--- a/plots/swarm-basic/metadata/letsplot.yaml
+++ b/plots/swarm-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/let
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - grid-styling
review:
strengths:
- Excellent use of geom_sina which is lets-plot native swarm/beeswarm geometry
diff --git a/plots/swarm-basic/metadata/matplotlib.yaml b/plots/swarm-basic/metadata/matplotlib.yaml
index bdb81d480b..438a7bae7b 100644
--- a/plots/swarm-basic/metadata/matplotlib.yaml
+++ b/plots/swarm-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/mat
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent custom swarm positioning algorithm that creates proper beeswarm spread
diff --git a/plots/swarm-basic/metadata/plotly.yaml b/plots/swarm-basic/metadata/plotly.yaml
index ed143e97b1..ce2d364e50 100644
--- a/plots/swarm-basic/metadata/plotly.yaml
+++ b/plots/swarm-basic/metadata/plotly.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent custom beeswarm algorithm that effectively spreads points to avoid overlap
diff --git a/plots/swarm-basic/metadata/plotnine.yaml b/plots/swarm-basic/metadata/plotnine.yaml
index 09c03b150c..7ad0f8ae79 100644
--- a/plots/swarm-basic/metadata/plotnine.yaml
+++ b/plots/swarm-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/plo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of clinical trial scenario with dose-response relationship that
diff --git a/plots/swarm-basic/metadata/pygal.yaml b/plots/swarm-basic/metadata/pygal.yaml
index fb0c8c58e1..945a8fb372 100644
--- a/plots/swarm-basic/metadata/pygal.yaml
+++ b/plots/swarm-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/pyg
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/pygal/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - edge-highlighting
review:
strengths:
- Excellent beeswarm algorithm implementation that properly spreads points horizontally
diff --git a/plots/swarm-basic/metadata/seaborn.yaml b/plots/swarm-basic/metadata/seaborn.yaml
index 35cfbe9baa..0cb8edd01f 100644
--- a/plots/swarm-basic/metadata/seaborn.yaml
+++ b/plots/swarm-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/sea
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/swarm-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - edge-highlighting
review:
strengths:
- Excellent data design showing diverse distributions (tight, wide, bimodal, outliers)
diff --git a/plots/ternary-basic/metadata/altair.yaml b/plots/ternary-basic/metadata/altair.yaml
index 7b0dd57b29..b24782d35d 100644
--- a/plots/ternary-basic/metadata/altair.yaml
+++ b/plots/ternary-basic/metadata/altair.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - manual-ticks
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent ternary plot implementation with proper coordinate transformation from
diff --git a/plots/ternary-basic/metadata/bokeh.yaml b/plots/ternary-basic/metadata/bokeh.yaml
index a41d63700f..7c1604c49e 100644
--- a/plots/ternary-basic/metadata/bokeh.yaml
+++ b/plots/ternary-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/bokeh/plot.html
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths: []
weaknesses: []
diff --git a/plots/ternary-basic/metadata/highcharts.yaml b/plots/ternary-basic/metadata/highcharts.yaml
index c435b652e6..22aa026c68 100644
--- a/plots/ternary-basic/metadata/highcharts.yaml
+++ b/plots/ternary-basic/metadata/highcharts.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - manual-ticks
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of custom ternary plot using Highcharts renderer API
diff --git a/plots/ternary-basic/metadata/letsplot.yaml b/plots/ternary-basic/metadata/letsplot.yaml
index ac61c19cf7..0ce2db8664 100644
--- a/plots/ternary-basic/metadata/letsplot.yaml
+++ b/plots/ternary-basic/metadata/letsplot.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - manual-ticks
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of ternary coordinates from scratch using Cartesian transformation
diff --git a/plots/ternary-basic/metadata/matplotlib.yaml b/plots/ternary-basic/metadata/matplotlib.yaml
index 24887e8be3..30f6d3df4c 100644
--- a/plots/ternary-basic/metadata/matplotlib.yaml
+++ b/plots/ternary-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
+ - minimal-chrome
review:
strengths:
- Excellent implementation of ternary coordinates with proper Cartesian transformation
diff --git a/plots/ternary-basic/metadata/plotly.yaml b/plots/ternary-basic/metadata/plotly.yaml
index d24ac06bc4..aaa993f643 100644
--- a/plots/ternary-basic/metadata/plotly.yaml
+++ b/plots/ternary-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly's native Scatterternary for ternary diagrams
diff --git a/plots/ternary-basic/metadata/plotnine.yaml b/plots/ternary-basic/metadata/plotnine.yaml
index 56dc7a7636..bc0c63d41f 100644
--- a/plots/ternary-basic/metadata/plotnine.yaml
+++ b/plots/ternary-basic/metadata/plotnine.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
+ - minimal-chrome
review:
strengths:
- Excellent use of Dirichlet distribution to create realistic, varied soil composition
diff --git a/plots/ternary-basic/metadata/pygal.yaml b/plots/ternary-basic/metadata/pygal.yaml
index 210f84c1aa..edbc15e251 100644
--- a/plots/ternary-basic/metadata/pygal.yaml
+++ b/plots/ternary-basic/metadata/pygal.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/pygal/plot.html
quality_score: 78
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - manual-ticks
+ - annotations
+ - html-export
+ patterns:
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Creative implementation of ternary plot using pygal XY chart type since pygal
diff --git a/plots/ternary-basic/metadata/seaborn.yaml b/plots/ternary-basic/metadata/seaborn.yaml
index 8779d73d8c..0bea8233e0 100644
--- a/plots/ternary-basic/metadata/seaborn.yaml
+++ b/plots/ternary-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/ternary-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
+ - minimal-chrome
review:
strengths:
- Excellent implementation of ternary coordinate transformation with clean vectorized
diff --git a/plots/timeline-basic/metadata/altair.yaml b/plots/timeline-basic/metadata/altair.yaml
index 85af491cc2..1134cc1ef9 100644
--- a/plots/timeline-basic/metadata/altair.yaml
+++ b/plots/timeline-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating label placement above/below axis prevents overlap perfectly
diff --git a/plots/timeline-basic/metadata/bokeh.yaml b/plots/timeline-basic/metadata/bokeh.yaml
index d8548d96ca..ef110d525e 100644
--- a/plots/timeline-basic/metadata/bokeh.yaml
+++ b/plots/timeline-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating label positioning above/below axis prevents text overlap
diff --git a/plots/timeline-basic/metadata/highcharts.yaml b/plots/timeline-basic/metadata/highcharts.yaml
index 63770fc92f..b739b00d7c 100644
--- a/plots/timeline-basic/metadata/highcharts.yaml
+++ b/plots/timeline-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of timeline concept using scatter plot with alternating
diff --git a/plots/timeline-basic/metadata/letsplot.yaml b/plots/timeline-basic/metadata/letsplot.yaml
index 9136a69b9a..2a15da8685 100644
--- a/plots/timeline-basic/metadata/letsplot.yaml
+++ b/plots/timeline-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating label placement above/below axis prevents overlap
diff --git a/plots/timeline-basic/metadata/matplotlib.yaml b/plots/timeline-basic/metadata/matplotlib.yaml
index 9d9edc0ce9..b8fb171a41 100644
--- a/plots/timeline-basic/metadata/matplotlib.yaml
+++ b/plots/timeline-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - custom-legend
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating label placement above/below axis eliminates text overlap
diff --git a/plots/timeline-basic/metadata/plotly.yaml b/plots/timeline-basic/metadata/plotly.yaml
index 701f21d26d..b1294ddd49 100644
--- a/plots/timeline-basic/metadata/plotly.yaml
+++ b/plots/timeline-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of alternating label positions above/below the axis to
diff --git a/plots/timeline-basic/metadata/plotnine.yaml b/plots/timeline-basic/metadata/plotnine.yaml
index a99d0623b3..b1e33dd41d 100644
--- a/plots/timeline-basic/metadata/plotnine.yaml
+++ b/plots/timeline-basic/metadata/plotnine.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating label placement above/below axis prevents text overlap entirely
diff --git a/plots/timeline-basic/metadata/pygal.yaml b/plots/timeline-basic/metadata/pygal.yaml
index e88d7575bd..dbf9a45b7e 100644
--- a/plots/timeline-basic/metadata/pygal.yaml
+++ b/plots/timeline-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating above/below layout prevents text overlap and creates clear
diff --git a/plots/timeline-basic/metadata/seaborn.yaml b/plots/timeline-basic/metadata/seaborn.yaml
index ce7aa75951..b61416816c 100644
--- a/plots/timeline-basic/metadata/seaborn.yaml
+++ b/plots/timeline-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeline-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent alternating label placement above/below axis prevents text overlap
diff --git a/plots/timeseries-decomposition/metadata/altair.yaml b/plots/timeseries-decomposition/metadata/altair.yaml
index 736e1f8ab2..2ef05385ba 100644
--- a/plots/timeseries-decomposition/metadata/altair.yaml
+++ b/plots/timeseries-decomposition/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - faceting
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent use of Altair declarative faceting to create vertically stacked subplots
diff --git a/plots/timeseries-decomposition/metadata/bokeh.yaml b/plots/timeseries-decomposition/metadata/bokeh.yaml
index 6a1b677d9b..7ce88c383a 100644
--- a/plots/timeseries-decomposition/metadata/bokeh.yaml
+++ b/plots/timeseries-decomposition/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent implementation of all four decomposition components with clear visual
@@ -26,15 +36,29 @@ review:
- Y-axis label rotation on Passengers (thousands) makes it slightly harder to read
- Panel heights (620px each) leave some unused vertical space in 2700px target
- Could use ColumnDataSource for more idiomatic Bokeh code
- image_description: |-
- The plot displays four vertically stacked panels showing a time series decomposition of airline passenger data from 2018-2028. The main title "timeseries-decomposition · bokeh · pyplots.ai" appears at the top. All panels use the Python blue color (#306998) for the line plots with dashed grid lines at 0.3 alpha.
+ image_description: 'The plot displays four vertically stacked panels showing a time
+ series decomposition of airline passenger data from 2018-2028. The main title
+ "timeseries-decomposition · bokeh · pyplots.ai" appears at the top. All panels
+ use the Python blue color (#306998) for the line plots with dashed grid lines
+ at 0.3 alpha.
- - **Original Series** (top): Shows the raw data with clear upward trend and seasonal fluctuations, ranging from ~80 to ~280 thousand passengers. Y-axis labeled "Passengers (thousands)".
- - **Trend Component**: Displays a smooth monotonically increasing line from ~110 to ~240, capturing the long-term growth.
- - **Seasonal Component**: Shows a repeating sinusoidal pattern oscillating between approximately -30 and +30, with consistent annual cycles.
- - **Residual Component** (bottom): Shows random noise fluctuating around zero (approximately -20 to +20), with the x-axis labeled "Date".
- All panels share a linked x-axis from 2018 to 2028. The Bokeh toolbar is visible on the right side of each panel with interactive tools.
+ - **Original Series** (top): Shows the raw data with clear upward trend and seasonal
+ fluctuations, ranging from ~80 to ~280 thousand passengers. Y-axis labeled "Passengers
+ (thousands)".
+
+ - **Trend Component**: Displays a smooth monotonically increasing line from ~110
+ to ~240, capturing the long-term growth.
+
+ - **Seasonal Component**: Shows a repeating sinusoidal pattern oscillating between
+ approximately -30 and +30, with consistent annual cycles.
+
+ - **Residual Component** (bottom): Shows random noise fluctuating around zero
+ (approximately -20 to +20), with the x-axis labeled "Date".
+
+
+ All panels share a linked x-axis from 2018 to 2028. The Bokeh toolbar is visible
+ on the right side of each panel with interactive tools.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/timeseries-decomposition/metadata/highcharts.yaml b/plots/timeseries-decomposition/metadata/highcharts.yaml
index 80b227fb0f..16d96afaf8 100644
--- a/plots/timeseries-decomposition/metadata/highcharts.yaml
+++ b/plots/timeseries-decomposition/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent colorblind-safe palette with distinct colors for each component (blue,
diff --git a/plots/timeseries-decomposition/metadata/letsplot.yaml b/plots/timeseries-decomposition/metadata/letsplot.yaml
index b97af20edd..8487aa8b13 100644
--- a/plots/timeseries-decomposition/metadata/letsplot.yaml
+++ b/plots/timeseries-decomposition/metadata/letsplot.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent use of gggrid() to create vertically stacked decomposition panels
diff --git a/plots/timeseries-decomposition/metadata/matplotlib.yaml b/plots/timeseries-decomposition/metadata/matplotlib.yaml
index 46661c08aa..4c9506a725 100644
--- a/plots/timeseries-decomposition/metadata/matplotlib.yaml
+++ b/plots/timeseries-decomposition/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - subplots
+ - grid-styling
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent four-panel layout with shared x-axis showing all decomposition components
diff --git a/plots/timeseries-decomposition/metadata/plotly.yaml b/plots/timeseries-decomposition/metadata/plotly.yaml
index 6956041386..1d85a751df 100644
--- a/plots/timeseries-decomposition/metadata/plotly.yaml
+++ b/plots/timeseries-decomposition/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - subplots
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Clean four-panel layout with well-differentiated components using distinct colors
diff --git a/plots/timeseries-decomposition/metadata/plotnine.yaml b/plots/timeseries-decomposition/metadata/plotnine.yaml
index 39443d2f7b..2384593dd1 100644
--- a/plots/timeseries-decomposition/metadata/plotnine.yaml
+++ b/plots/timeseries-decomposition/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - faceting
+ patterns:
+ - data-generation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent use of plotnine facet_wrap for creating the four-panel decomposition
diff --git a/plots/timeseries-decomposition/metadata/pygal.yaml b/plots/timeseries-decomposition/metadata/pygal.yaml
index c547b6104c..8a2d32969f 100644
--- a/plots/timeseries-decomposition/metadata/pygal.yaml
+++ b/plots/timeseries-decomposition/metadata/pygal.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - statsmodels
+ - cairosvg
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent implementation of all four decomposition components with clear visual
@@ -27,14 +40,28 @@ review:
PIL composition)
- Grid lines could be more subtle (current alpha appears fully opaque)
- Left margin y-axis label area could be slightly narrower for better canvas utilization
- image_description: |-
- The plot displays a time series decomposition with four vertically stacked subplots. The main title "timeseries-decomposition · pygal · pyplots.ai" appears at the top in dark text. Each subplot shows a different component:
- 1. **Original Series (CO2 ppm)** - Blue line showing the raw CO2 measurements ranging from ~406-436 ppm with visible upward trend and oscillations
- 2. **Trend Component** - Yellow/gold line showing the smooth upward trend from ~410 to ~430 ppm
- 3. **Seasonal Component** - Green line showing the repeating annual cycle oscillating between approximately -3 and +3 ppm
- 4. **Residual Component** - Red/coral line showing random noise fluctuating around zero between approximately -2 and +2 ppm
+ image_description: 'The plot displays a time series decomposition with four vertically
+ stacked subplots. The main title "timeseries-decomposition · pygal · pyplots.ai"
+ appears at the top in dark text. Each subplot shows a different component:
- Each subplot has its own y-axis label on the left side (CO₂ (ppm), Trend (ppm), Seasonal (ppm), Residual (ppm)). The bottom subplot includes x-axis date labels showing dates from 2020-01 to 2025-07 at 6-month intervals with 35-degree rotation. Light gray grid lines are present on all charts. The colors are distinct and colorblind-friendly. The layout effectively uses the canvas with balanced spacing.
+ 1. **Original Series (CO2 ppm)** - Blue line showing the raw CO2 measurements
+ ranging from ~406-436 ppm with visible upward trend and oscillations
+
+ 2. **Trend Component** - Yellow/gold line showing the smooth upward trend from
+ ~410 to ~430 ppm
+
+ 3. **Seasonal Component** - Green line showing the repeating annual cycle oscillating
+ between approximately -3 and +3 ppm
+
+ 4. **Residual Component** - Red/coral line showing random noise fluctuating around
+ zero between approximately -2 and +2 ppm
+
+
+ Each subplot has its own y-axis label on the left side (CO₂ (ppm), Trend (ppm),
+ Seasonal (ppm), Residual (ppm)). The bottom subplot includes x-axis date labels
+ showing dates from 2020-01 to 2025-07 at 6-month intervals with 35-degree rotation.
+ Light gray grid lines are present on all charts. The colors are distinct and colorblind-friendly.
+ The layout effectively uses the canvas with balanced spacing.'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/timeseries-decomposition/metadata/seaborn.yaml b/plots/timeseries-decomposition/metadata/seaborn.yaml
index fdef1e5a7f..0664bde56f 100644
--- a/plots/timeseries-decomposition/metadata/seaborn.yaml
+++ b/plots/timeseries-decomposition/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/timeseries-deco
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/timeseries-decomposition/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - statsmodels
+ techniques:
+ - subplots
+ - grid-styling
+ patterns:
+ - data-generation
+ - rolling-window
+ - groupby-aggregation
+ dataprep:
+ - time-series
+ styling: []
review:
strengths:
- Excellent four-panel layout perfectly matching the specification requirements
diff --git a/plots/tree-phylogenetic/metadata/altair.yaml b/plots/tree-phylogenetic/metadata/altair.yaml
index cedec27405..0d85c686ee 100644
--- a/plots/tree-phylogenetic/metadata/altair.yaml
+++ b/plots/tree-phylogenetic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with proper text sizing and no overlap
diff --git a/plots/tree-phylogenetic/metadata/bokeh.yaml b/plots/tree-phylogenetic/metadata/bokeh.yaml
index 541bf94ee1..0fefd5cb65 100644
--- a/plots/tree-phylogenetic/metadata/bokeh.yaml
+++ b/plots/tree-phylogenetic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - custom-legend
+ - annotations
+ - html-export
+ patterns:
+ - columndatasource
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Bokeh interactive features including HoverTool with informative
diff --git a/plots/tree-phylogenetic/metadata/highcharts.yaml b/plots/tree-phylogenetic/metadata/highcharts.yaml
index 9acadfd3ec..811a167c85 100644
--- a/plots/tree-phylogenetic/metadata/highcharts.yaml
+++ b/plots/tree-phylogenetic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent biological accuracy with real primate species and realistic divergence
diff --git a/plots/tree-phylogenetic/metadata/letsplot.yaml b/plots/tree-phylogenetic/metadata/letsplot.yaml
index fc0436a33f..3e615715b7 100644
--- a/plots/tree-phylogenetic/metadata/letsplot.yaml
+++ b/plots/tree-phylogenetic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of rectangular phylogenetic tree using lets-plot grammar
diff --git a/plots/tree-phylogenetic/metadata/matplotlib.yaml b/plots/tree-phylogenetic/metadata/matplotlib.yaml
index 5d5708064d..3213f61ac3 100644
--- a/plots/tree-phylogenetic/metadata/matplotlib.yaml
+++ b/plots/tree-phylogenetic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent clade coloring with three distinct, colorblind-safe colors (blue, yellow,
diff --git a/plots/tree-phylogenetic/metadata/plotly.yaml b/plots/tree-phylogenetic/metadata/plotly.yaml
index 1f77ced10f..cf672cbf0c 100644
--- a/plots/tree-phylogenetic/metadata/plotly.yaml
+++ b/plots/tree-phylogenetic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly annotation system with arrows to label taxonomic clades
diff --git a/plots/tree-phylogenetic/metadata/plotnine.yaml b/plots/tree-phylogenetic/metadata/plotnine.yaml
index 904f7fa669..96e661e90e 100644
--- a/plots/tree-phylogenetic/metadata/plotnine.yaml
+++ b/plots/tree-phylogenetic/metadata/plotnine.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent use of plotnine grammar of graphics with proper layering of geom_segment
diff --git a/plots/tree-phylogenetic/metadata/pygal.yaml b/plots/tree-phylogenetic/metadata/pygal.yaml
index 05d3448df2..bca09eab74 100644
--- a/plots/tree-phylogenetic/metadata/pygal.yaml
+++ b/plots/tree-phylogenetic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/pygal/plot.html
quality_score: 82
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Creative use of pygal XY chart to represent phylogenetic tree structure
diff --git a/plots/tree-phylogenetic/metadata/seaborn.yaml b/plots/tree-phylogenetic/metadata/seaborn.yaml
index 0aad6b93ae..6ec35747fe 100644
--- a/plots/tree-phylogenetic/metadata/seaborn.yaml
+++ b/plots/tree-phylogenetic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenet
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/tree-phylogenetic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling: []
review:
strengths:
- Excellent visual presentation with clear clade-based color coding throughout branches
diff --git a/plots/treemap-basic/metadata/altair.yaml b/plots/treemap-basic/metadata/altair.yaml
index f3bb033017..3a19f3eac6 100644
--- a/plots/treemap-basic/metadata/altair.yaml
+++ b/plots/treemap-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent manual treemap layout algorithm that correctly calculates strip widths
diff --git a/plots/treemap-basic/metadata/bokeh.yaml b/plots/treemap-basic/metadata/bokeh.yaml
index 39b9fa2aae..3b7e2208df 100644
--- a/plots/treemap-basic/metadata/bokeh.yaml
+++ b/plots/treemap-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Implements squarify treemap algorithm from scratch since bokeh lacks native treemap
diff --git a/plots/treemap-basic/metadata/highcharts.yaml b/plots/treemap-basic/metadata/highcharts.yaml
index 64c610b94c..167c05e365 100644
--- a/plots/treemap-basic/metadata/highcharts.yaml
+++ b/plots/treemap-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent hierarchical data structure with clear parent-child relationships using
diff --git a/plots/treemap-basic/metadata/letsplot.yaml b/plots/treemap-basic/metadata/letsplot.yaml
index b306adac1a..e6a48dae60 100644
--- a/plots/treemap-basic/metadata/letsplot.yaml
+++ b/plots/treemap-basic/metadata/letsplot.yaml
@@ -11,6 +11,21 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Clean squarify algorithm implementation creates well-proportioned rectangles
diff --git a/plots/treemap-basic/metadata/matplotlib.yaml b/plots/treemap-basic/metadata/matplotlib.yaml
index e30d74b5a2..8306c119e9 100644
--- a/plots/treemap-basic/metadata/matplotlib.yaml
+++ b/plots/treemap-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Custom squarify algorithm implementation demonstrating matplotlib flexibility
diff --git a/plots/treemap-basic/metadata/plotly.yaml b/plots/treemap-basic/metadata/plotly.yaml
index ac2200b202..659b2ee97a 100644
--- a/plots/treemap-basic/metadata/plotly.yaml
+++ b/plots/treemap-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color differentiation between main categories with colorblind-safe palette
diff --git a/plots/treemap-basic/metadata/plotnine.yaml b/plots/treemap-basic/metadata/plotnine.yaml
index 4e05413274..9564db7c70 100644
--- a/plots/treemap-basic/metadata/plotnine.yaml
+++ b/plots/treemap-basic/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of treemap using plotnine primitives (geom_rect + geom_text)
diff --git a/plots/treemap-basic/metadata/pygal.yaml b/plots/treemap-basic/metadata/pygal.yaml
index 4655962928..d7df73d192 100644
--- a/plots/treemap-basic/metadata/pygal.yaml
+++ b/plots/treemap-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of pygal native Treemap chart type with proper hierarchical data
diff --git a/plots/treemap-basic/metadata/seaborn.yaml b/plots/treemap-basic/metadata/seaborn.yaml
index e06468cd87..08e5183fa1 100644
--- a/plots/treemap-basic/metadata/seaborn.yaml
+++ b/plots/treemap-basic/metadata/seaborn.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/treemap-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies:
+ - squarify
+ techniques:
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent use of seaborn colorblind palette for accessibility
diff --git a/plots/venn-basic/metadata/altair.yaml b/plots/venn-basic/metadata/altair.yaml
index 0084ff4319..9a552bf1c1 100644
--- a/plots/venn-basic/metadata/altair.yaml
+++ b/plots/venn-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/venn-basic/altair/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent creative implementation of Venn diagram using Altair point marks and
diff --git a/plots/venn-basic/metadata/bokeh.yaml b/plots/venn-basic/metadata/bokeh.yaml
index bc1dcc481a..75728cb8d3 100644
--- a/plots/venn-basic/metadata/bokeh.yaml
+++ b/plots/venn-basic/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/venn-basic/bokeh/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent visual clarity with well-chosen transparency (alpha=0.4) creating distinct
diff --git a/plots/venn-basic/metadata/highcharts.yaml b/plots/venn-basic/metadata/highcharts.yaml
index c16b61af26..7a73713cda 100644
--- a/plots/venn-basic/metadata/highcharts.yaml
+++ b/plots/venn-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/venn-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Highcharts VennSeries with proper data structure for sets and
diff --git a/plots/venn-basic/metadata/letsplot.yaml b/plots/venn-basic/metadata/letsplot.yaml
index 4d37a60b60..b06261a865 100644
--- a/plots/venn-basic/metadata/letsplot.yaml
+++ b/plots/venn-basic/metadata/letsplot.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/venn-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent visual clarity with well-positioned labels and counts in all 7 regions
diff --git a/plots/venn-basic/metadata/matplotlib.yaml b/plots/venn-basic/metadata/matplotlib.yaml
index 7ce7c94c95..67ef2c6172 100644
--- a/plots/venn-basic/metadata/matplotlib.yaml
+++ b/plots/venn-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent choice of square figure format (12x12) which is ideal for circular Venn
diff --git a/plots/venn-basic/metadata/plotly.yaml b/plots/venn-basic/metadata/plotly.yaml
index fbdb000a9f..963af5ab08 100644
--- a/plots/venn-basic/metadata/plotly.yaml
+++ b/plots/venn-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/venn-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent use of Plotly graph_objects for custom shape drawing with go.Scatter
diff --git a/plots/venn-basic/metadata/plotnine.yaml b/plots/venn-basic/metadata/plotnine.yaml
index f5987ba62d..2ac025a0ae 100644
--- a/plots/venn-basic/metadata/plotnine.yaml
+++ b/plots/venn-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of a Venn diagram using plotnine grammar of graphics
diff --git a/plots/venn-basic/metadata/pygal.yaml b/plots/venn-basic/metadata/pygal.yaml
index fdb762a9c7..bca5ee03ed 100644
--- a/plots/venn-basic/metadata/pygal.yaml
+++ b/plots/venn-basic/metadata/pygal.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/venn-basic/pygal/plot.html
quality_score: 78
+impl_tags:
+ dependencies:
+ - cairosvg
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Creative workaround using XY chart to draw circles since pygal lacks native Venn
diff --git a/plots/venn-basic/metadata/seaborn.yaml b/plots/venn-basic/metadata/seaborn.yaml
index a86caf7c54..a1785082a5 100644
--- a/plots/venn-basic/metadata/seaborn.yaml
+++ b/plots/venn-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/venn-basic/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/venn-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - alpha-blending
+ - minimal-chrome
review:
strengths:
- Excellent text legibility with white background boxes ensuring readability against
diff --git a/plots/violin-basic/metadata/altair.yaml b/plots/violin-basic/metadata/altair.yaml
index 441557153e..24ae2677be 100644
--- a/plots/violin-basic/metadata/altair.yaml
+++ b/plots/violin-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - faceting
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visualization of distribution shapes with the bimodal Sales distribution
diff --git a/plots/violin-basic/metadata/bokeh.yaml b/plots/violin-basic/metadata/bokeh.yaml
index a849519e49..8960a243f3 100644
--- a/plots/violin-basic/metadata/bokeh.yaml
+++ b/plots/violin-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of violin plot from first principles using Bokeh patch
diff --git a/plots/violin-basic/metadata/highcharts.yaml b/plots/violin-basic/metadata/highcharts.yaml
index 2b9d6873de..33fba10d6f 100644
--- a/plots/violin-basic/metadata/highcharts.yaml
+++ b/plots/violin-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent distribution variety demonstrating violin plot capabilities (normal,
diff --git a/plots/violin-basic/metadata/letsplot.yaml b/plots/violin-basic/metadata/letsplot.yaml
index f7ec58c68d..423cf68e50 100644
--- a/plots/violin-basic/metadata/letsplot.yaml
+++ b/plots/violin-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of lets-plot grammar of graphics with clean, readable code structure
diff --git a/plots/violin-basic/metadata/matplotlib.yaml b/plots/violin-basic/metadata/matplotlib.yaml
index d1b2efbf1a..bfd0c53e77 100644
--- a/plots/violin-basic/metadata/matplotlib.yaml
+++ b/plots/violin-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent data scenario with test scores across schools - immediately comprehensible
diff --git a/plots/violin-basic/metadata/plotly.yaml b/plots/violin-basic/metadata/plotly.yaml
index 41d8071890..a8c749ca4e 100644
--- a/plots/violin-basic/metadata/plotly.yaml
+++ b/plots/violin-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual clarity with well-sized fonts and clean layout
diff --git a/plots/violin-basic/metadata/plotnine.yaml b/plots/violin-basic/metadata/plotnine.yaml
index b62d490c90..dfcb123875 100644
--- a/plots/violin-basic/metadata/plotnine.yaml
+++ b/plots/violin-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine grammar of graphics with clean ggplot syntax
diff --git a/plots/violin-basic/metadata/pygal.yaml b/plots/violin-basic/metadata/pygal.yaml
index 729a4bbb45..da0846c2b4 100644
--- a/plots/violin-basic/metadata/pygal.yaml
+++ b/plots/violin-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative solution implementing violin plots in pygal which lacks native
diff --git a/plots/violin-basic/metadata/seaborn.yaml b/plots/violin-basic/metadata/seaborn.yaml
index 2b2aa5c697..7e0f87e1df 100644
--- a/plots/violin-basic/metadata/seaborn.yaml
+++ b/plots/violin-basic/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of violin plot with bimodal Sales distribution showing
diff --git a/plots/violin-box/metadata/altair.yaml b/plots/violin-box/metadata/altair.yaml
index b5d5c02954..8dd580bec2 100644
--- a/plots/violin-box/metadata/altair.yaml
+++ b/plots/violin-box/metadata/altair.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/alta
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-box/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ - faceting
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - grid-styling
review:
strengths:
- Excellent use of Altair declarative layering to combine violin (mark_area with
diff --git a/plots/violin-box/metadata/bokeh.yaml b/plots/violin-box/metadata/bokeh.yaml
index e6bdf6a6a2..5243173e7a 100644
--- a/plots/violin-box/metadata/bokeh.yaml
+++ b/plots/violin-box/metadata/bokeh.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/boke
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-box/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling:
+ - grid-styling
+ - alpha-blending
review:
strengths:
- Excellent manual implementation of violin plot using KDE calculation and patch
diff --git a/plots/violin-box/metadata/highcharts.yaml b/plots/violin-box/metadata/highcharts.yaml
index bbe674bf9b..8d09b8c389 100644
--- a/plots/violin-box/metadata/highcharts.yaml
+++ b/plots/violin-box/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/high
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-box/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - html-export
+ - patches
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling: []
review:
strengths:
- Excellent implementation of a complex visualization using polygon primitives
diff --git a/plots/violin-box/metadata/letsplot.yaml b/plots/violin-box/metadata/letsplot.yaml
index d963fb7ec3..e8faafe3ac 100644
--- a/plots/violin-box/metadata/letsplot.yaml
+++ b/plots/violin-box/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/lets
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-box/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent combination of violin and box plot showing both KDE density and summary
diff --git a/plots/violin-box/metadata/matplotlib.yaml b/plots/violin-box/metadata/matplotlib.yaml
index 9984d9cb9d..0bc7bc5fc6 100644
--- a/plots/violin-box/metadata/matplotlib.yaml
+++ b/plots/violin-box/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/matp
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/matplotlib/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent demonstration of combining violin and box plots with clear visual hierarchy
diff --git a/plots/violin-box/metadata/plotly.yaml b/plots/violin-box/metadata/plotly.yaml
index f19a5105f3..46eafc7345 100644
--- a/plots/violin-box/metadata/plotly.yaml
+++ b/plots/violin-box/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-box/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent demonstration of bimodal distribution in Online group showcasing violin
diff --git a/plots/violin-box/metadata/plotnine.yaml b/plots/violin-box/metadata/plotnine.yaml
index 589fe1c208..f7602c3fe5 100644
--- a/plots/violin-box/metadata/plotnine.yaml
+++ b/plots/violin-box/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/plot
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/plotnine/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent data design showing four distinct distribution types (normal, right-skewed
diff --git a/plots/violin-box/metadata/pygal.yaml b/plots/violin-box/metadata/pygal.yaml
index c840975d58..ce661e7918 100644
--- a/plots/violin-box/metadata/pygal.yaml
+++ b/plots/violin-box/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/pyga
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-box/pygal/plot.html
quality_score: 88
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep:
+ - kde
+ styling: []
review:
strengths:
- Excellent manual KDE implementation using Gaussian kernel with Silverman's rule
diff --git a/plots/violin-box/metadata/seaborn.yaml b/plots/violin-box/metadata/seaborn.yaml
index b6f4bb0423..e3688283d2 100644
--- a/plots/violin-box/metadata/seaborn.yaml
+++ b/plots/violin-box/metadata/seaborn.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-box/seab
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-box/seaborn/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent data design showing four distinct distribution shapes (normal, bimodal,
diff --git a/plots/violin-split/metadata/altair.yaml b/plots/violin-split/metadata/altair.yaml
index 8f358e951c..7bfaeb76e1 100644
--- a/plots/violin-split/metadata/altair.yaml
+++ b/plots/violin-split/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-split/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - faceting
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of split violin using transform_density with signed density
diff --git a/plots/violin-split/metadata/bokeh.yaml b/plots/violin-split/metadata/bokeh.yaml
index 9a34ccbddf..50a0ade9e8 100644
--- a/plots/violin-split/metadata/bokeh.yaml
+++ b/plots/violin-split/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-split/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent split violin implementation with halves meeting cleanly at the center
diff --git a/plots/violin-split/metadata/highcharts.yaml b/plots/violin-split/metadata/highcharts.yaml
index 5e87fe2d50..fef0fadf0e 100644
--- a/plots/violin-split/metadata/highcharts.yaml
+++ b/plots/violin-split/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-split/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of split violin concept using areasplinerange series
diff --git a/plots/violin-split/metadata/letsplot.yaml b/plots/violin-split/metadata/letsplot.yaml
index 6ac50fe3da..19bcc39664 100644
--- a/plots/violin-split/metadata/letsplot.yaml
+++ b/plots/violin-split/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-split/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - hover-tooltips
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of letsplot show_half parameter (-1 and 1) to create proper split
diff --git a/plots/violin-split/metadata/matplotlib.yaml b/plots/violin-split/metadata/matplotlib.yaml
index 9343750a51..f2e81c9bfc 100644
--- a/plots/violin-split/metadata/matplotlib.yaml
+++ b/plots/violin-split/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/matplotlib/plot_thumb.png
preview_html: null
quality_score: 93
+impl_tags:
+ dependencies: []
+ techniques:
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent split violin implementation using path clipping technique (manual vertex
diff --git a/plots/violin-split/metadata/plotly.yaml b/plots/violin-split/metadata/plotly.yaml
index 41e683d15d..0e95199c2e 100644
--- a/plots/violin-split/metadata/plotly.yaml
+++ b/plots/violin-split/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-split/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly's native split violin capability with side="negative"/"positive"
diff --git a/plots/violin-split/metadata/plotnine.yaml b/plots/violin-split/metadata/plotnine.yaml
index 7198089553..d880fb40c9 100644
--- a/plots/violin-split/metadata/plotnine.yaml
+++ b/plots/violin-split/metadata/plotnine.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/plotnine/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of plotnine style=left-right parameter for true split violins
diff --git a/plots/violin-split/metadata/pygal.yaml b/plots/violin-split/metadata/pygal.yaml
index 7e6f51e7f2..cd714acae6 100644
--- a/plots/violin-split/metadata/pygal.yaml
+++ b/plots/violin-split/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/violin-split/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative implementation of split violins using pygal XY chart with filled
diff --git a/plots/violin-split/metadata/seaborn.yaml b/plots/violin-split/metadata/seaborn.yaml
index c16dd67b10..5bca6015d5 100644
--- a/plots/violin-split/metadata/seaborn.yaml
+++ b/plots/violin-split/metadata/seaborn.yaml
@@ -11,6 +11,13 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/violin-split/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/violin-split/seaborn/plot_thumb.png
preview_html: null
quality_score: 94
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of seaborn split violin feature with inner quartile markers
diff --git a/plots/volcano-basic/metadata/altair.yaml b/plots/volcano-basic/metadata/altair.yaml
index 3501663eca..ff072b7b35 100644
--- a/plots/volcano-basic/metadata/altair.yaml
+++ b/plots/volcano-basic/metadata/altair.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/a
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of all spec requirements including threshold lines with
diff --git a/plots/volcano-basic/metadata/bokeh.yaml b/plots/volcano-basic/metadata/bokeh.yaml
index d0bf860d0c..0142fd2278 100644
--- a/plots/volcano-basic/metadata/bokeh.yaml
+++ b/plots/volcano-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/b
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - columndatasource
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of volcano plot with all required threshold lines and
diff --git a/plots/volcano-basic/metadata/highcharts.yaml b/plots/volcano-basic/metadata/highcharts.yaml
index d02cd83ffd..1b80513576 100644
--- a/plots/volcano-basic/metadata/highcharts.yaml
+++ b/plots/volcano-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/h
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - annotations
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-safe palette with blue (#306998), orange (#E07B00), and gray
diff --git a/plots/volcano-basic/metadata/letsplot.yaml b/plots/volcano-basic/metadata/letsplot.yaml
index 87edd18b82..312302f42a 100644
--- a/plots/volcano-basic/metadata/letsplot.yaml
+++ b/plots/volcano-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/l
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Clear visual distinction between significance categories using blue/gray/red color
diff --git a/plots/volcano-basic/metadata/matplotlib.yaml b/plots/volcano-basic/metadata/matplotlib.yaml
index 9224a47449..fa42830740 100644
--- a/plots/volcano-basic/metadata/matplotlib.yaml
+++ b/plots/volcano-basic/metadata/matplotlib.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/m
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - colorbar
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of all spec requirements including threshold lines, color
diff --git a/plots/volcano-basic/metadata/plotly.yaml b/plots/volcano-basic/metadata/plotly.yaml
index a5a8f0d81c..361f344009 100644
--- a/plots/volcano-basic/metadata/plotly.yaml
+++ b/plots/volcano-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of volcano plot with all required threshold lines and
diff --git a/plots/volcano-basic/metadata/plotnine.yaml b/plots/volcano-basic/metadata/plotnine.yaml
index fe4d8b8fbd..572a4484e8 100644
--- a/plots/volcano-basic/metadata/plotnine.yaml
+++ b/plots/volcano-basic/metadata/plotnine.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the volcano plot specification with all required features
diff --git a/plots/volcano-basic/metadata/pygal.yaml b/plots/volcano-basic/metadata/pygal.yaml
index e73bb28bcc..f5939f96db 100644
--- a/plots/volcano-basic/metadata/pygal.yaml
+++ b/plots/volcano-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/p
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/pygal/plot.html
quality_score: 75
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean three-category color coding (gray/red/blue) clearly distinguishes significance
diff --git a/plots/volcano-basic/metadata/seaborn.yaml b/plots/volcano-basic/metadata/seaborn.yaml
index 4817ba7a41..289aa45e38 100644
--- a/plots/volcano-basic/metadata/seaborn.yaml
+++ b/plots/volcano-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/s
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/volcano-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent implementation of the classic volcano plot pattern with clear visual
diff --git a/plots/waffle-basic/metadata/altair.yaml b/plots/waffle-basic/metadata/altair.yaml
index 301d38cfea..3a1711f790 100644
--- a/plots/waffle-basic/metadata/altair.yaml
+++ b/plots/waffle-basic/metadata/altair.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/al
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of waffle chart using Altair declarative syntax with
diff --git a/plots/waffle-basic/metadata/bokeh.yaml b/plots/waffle-basic/metadata/bokeh.yaml
index 3a7ae05eda..249a0d4948 100644
--- a/plots/waffle-basic/metadata/bokeh.yaml
+++ b/plots/waffle-basic/metadata/bokeh.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/bo
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - custom-legend
+ patterns:
+ - data-generation
+ - columndatasource
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of the waffle chart concept with proper 10×10 grid layout
diff --git a/plots/waffle-basic/metadata/highcharts.yaml b/plots/waffle-basic/metadata/highcharts.yaml
index af06b21857..6b0d54bfcf 100644
--- a/plots/waffle-basic/metadata/highcharts.yaml
+++ b/plots/waffle-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/hi
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/highcharts/plot.html
quality_score: 92
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation using scatter plot with square markers to create waffle
diff --git a/plots/waffle-basic/metadata/letsplot.yaml b/plots/waffle-basic/metadata/letsplot.yaml
index 60ea1989fb..778ab61089 100644
--- a/plots/waffle-basic/metadata/letsplot.yaml
+++ b/plots/waffle-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/le
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent implementation of waffle chart using geom_tile with proper grid construction
diff --git a/plots/waffle-basic/metadata/matplotlib.yaml b/plots/waffle-basic/metadata/matplotlib.yaml
index c66efbfa15..51f8ede334 100644
--- a/plots/waffle-basic/metadata/matplotlib.yaml
+++ b/plots/waffle-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/ma
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - custom-legend
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - edge-highlighting
+ - minimal-chrome
review:
strengths:
- Excellent visual design with rounded squares (FancyBboxPatch) giving a polished,
diff --git a/plots/waffle-basic/metadata/plotly.yaml b/plots/waffle-basic/metadata/plotly.yaml
index 4fb2bcaf6a..dc979f5bf1 100644
--- a/plots/waffle-basic/metadata/plotly.yaml
+++ b/plots/waffle-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent color palette with Python Blue (#306998) as primary color and complementary
diff --git a/plots/waffle-basic/metadata/plotnine.yaml b/plots/waffle-basic/metadata/plotnine.yaml
index 17d0e743de..a3d6fef092 100644
--- a/plots/waffle-basic/metadata/plotnine.yaml
+++ b/plots/waffle-basic/metadata/plotnine.yaml
@@ -11,19 +11,36 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/pl
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 95
+impl_tags:
+ dependencies: []
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
improvements: []
- image_description: |-
- The plot displays a 10x10 waffle grid (100 squares total) representing budget allocation across 5 categories. The grid is filled from top-left, reading left-to-right then row-by-row downward. Categories are:
+ image_description: 'The plot displays a 10x10 waffle grid (100 squares total) representing
+ budget allocation across 5 categories. The grid is filled from top-left, reading
+ left-to-right then row-by-row downward. Categories are:
+
- **Housing (35%)**: Dark blue (#306998) - occupies 35 squares in the top portion
+
- **Food (25%)**: Yellow (#FFD43B) - occupies 25 squares in the middle
+
- **Transport (18%)**: Teal/cyan (#4ECDC4) - occupies 18 squares
+
- **Entertainment (12%)**: Coral/orange-red (#E76F51) - occupies 12 squares
+
- **Savings (10%)**: Gray (#95A5A6) - occupies 10 squares at the bottom
- The title "waffle-basic · plotnine · pyplots.ai" is centered at the top. A legend on the right shows each category with its percentage. The squares have white borders separating them. No axis labels or ticks are shown (appropriate for this chart type). The overall layout is clean with good proportions.
+
+ The title "waffle-basic · plotnine · pyplots.ai" is centered at the top. A legend
+ on the right shows each category with its percentage. The squares have white borders
+ separating them. No axis labels or ticks are shown (appropriate for this chart
+ type). The overall layout is clean with good proportions.'
criteria_checklist:
code_quality:
score: 13
diff --git a/plots/waffle-basic/metadata/pygal.yaml b/plots/waffle-basic/metadata/pygal.yaml
index 2d0871752f..eb92afa461 100644
--- a/plots/waffle-basic/metadata/pygal.yaml
+++ b/plots/waffle-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/py
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/pygal/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ - patches
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent visual design with rounded corners on squares giving a polished look
diff --git a/plots/waffle-basic/metadata/seaborn.yaml b/plots/waffle-basic/metadata/seaborn.yaml
index dc855eac3c..b0262f7b2d 100644
--- a/plots/waffle-basic/metadata/seaborn.yaml
+++ b/plots/waffle-basic/metadata/seaborn.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/se
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waffle-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - wide-to-long
+ dataprep: []
+ styling:
+ - custom-colormap
review:
strengths:
- Excellent use of sns.heatmap with custom colormap to create waffle chart effect
diff --git a/plots/waterfall-basic/metadata/altair.yaml b/plots/waterfall-basic/metadata/altair.yaml
index f6dced98e8..b2203b047f 100644
--- a/plots/waterfall-basic/metadata/altair.yaml
+++ b/plots/waterfall-basic/metadata/altair.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/altair/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of waterfall chart using Altair layered approach with
diff --git a/plots/waterfall-basic/metadata/bokeh.yaml b/plots/waterfall-basic/metadata/bokeh.yaml
index dab953fafb..cab8f9c523 100644
--- a/plots/waterfall-basic/metadata/bokeh.yaml
+++ b/plots/waterfall-basic/metadata/bokeh.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ - columndatasource
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of waterfall chart logic with proper bar positioning
diff --git a/plots/waterfall-basic/metadata/highcharts.yaml b/plots/waterfall-basic/metadata/highcharts.yaml
index acb0574690..7d0a281b6c 100644
--- a/plots/waterfall-basic/metadata/highcharts.yaml
+++ b/plots/waterfall-basic/metadata/highcharts.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of colorblind-safe color palette (blue for totals, orange for decreases,
diff --git a/plots/waterfall-basic/metadata/letsplot.yaml b/plots/waterfall-basic/metadata/letsplot.yaml
index 7ed0a397df..3aca577764 100644
--- a/plots/waterfall-basic/metadata/letsplot.yaml
+++ b/plots/waterfall-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/letsplot/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent waterfall chart structure with proper floating bars and connector lines
@@ -26,17 +35,30 @@ review:
values between labeled ticks
- Could use more distinct colorblind-safe palette (e.g., blue/orange instead of
green/red)
- image_description: |-
- The waterfall chart displays a quarterly financial breakdown from Starting Balance to Net Profit. The chart uses:
- - **Blue bars** (#306998) for totals (Starting Balance at $50,000 and Net Profit at $61,000)
- - **Green bars** (#22C55E) for increases (Product Sales +$35,000, Service Revenue +$18,000)
- - **Red bars** (#EF4444) for decreases (Operating Costs -$22,000, Marketing -$8,000, Taxes -$12,000)
- - **White value labels** centered on each bar with proper formatting (totals show $XX,XXX, changes show +/-XX,XXX)
+ image_description: 'The waterfall chart displays a quarterly financial breakdown
+ from Starting Balance to Net Profit. The chart uses:
+
+ - **Blue bars** (#306998) for totals (Starting Balance at $50,000 and Net Profit
+ at $61,000)
+
+ - **Green bars** (#22C55E) for increases (Product Sales +$35,000, Service Revenue
+ +$18,000)
+
+ - **Red bars** (#EF4444) for decreases (Operating Costs -$22,000, Marketing -$8,000,
+ Taxes -$12,000)
+
+ - **White value labels** centered on each bar with proper formatting (totals show
+ $XX,XXX, changes show +/-XX,XXX)
+
- **Dashed connector lines** between bars showing cumulative flow
+
- **Title** at top: "waterfall-basic · letsplot · pyplots.ai"
+
- **Y-axis** labeled "Amount ($)" with dollar formatting from $0 to $100,000
+
- **X-axis** labels rotated 30 degrees for readability
- - **Legend** on right showing Change Type (Increase, Decrease, Total)
+
+ - **Legend** on right showing Change Type (Increase, Decrease, Total)'
criteria_checklist:
visual_quality:
score: 36
diff --git a/plots/waterfall-basic/metadata/matplotlib.yaml b/plots/waterfall-basic/metadata/matplotlib.yaml
index ed7cddbbdb..ff211d1f99 100644
--- a/plots/waterfall-basic/metadata/matplotlib.yaml
+++ b/plots/waterfall-basic/metadata/matplotlib.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of waterfall chart logic with proper handling of subtotals
diff --git a/plots/waterfall-basic/metadata/plotly.yaml b/plots/waterfall-basic/metadata/plotly.yaml
index f87dae3213..403f79045b 100644
--- a/plots/waterfall-basic/metadata/plotly.yaml
+++ b/plots/waterfall-basic/metadata/plotly.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/plotly/plot.html
quality_score: 97
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly native Waterfall trace with measure types (absolute, relative,
diff --git a/plots/waterfall-basic/metadata/plotnine.yaml b/plots/waterfall-basic/metadata/plotnine.yaml
index 3459e1af7f..1364e8e704 100644
--- a/plots/waterfall-basic/metadata/plotnine.yaml
+++ b/plots/waterfall-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths: []
weaknesses: []
diff --git a/plots/waterfall-basic/metadata/pygal.yaml b/plots/waterfall-basic/metadata/pygal.yaml
index 10c3958bdd..a60e54fc8e 100644
--- a/plots/waterfall-basic/metadata/pygal.yaml
+++ b/plots/waterfall-basic/metadata/pygal.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/waterfall-basic/pygal/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent colorblind-friendly color scheme using blue/teal/orange instead of problematic
diff --git a/plots/windrose-basic/metadata/altair.yaml b/plots/windrose-basic/metadata/altair.yaml
index f9bbdb75f2..dcb6ee4252 100644
--- a/plots/windrose-basic/metadata/altair.yaml
+++ b/plots/windrose-basic/metadata/altair.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/altair/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ - wide-to-long
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent creative approach constructing polar wind rose in Altair using Cartesian-to-polar
diff --git a/plots/windrose-basic/metadata/bokeh.yaml b/plots/windrose-basic/metadata/bokeh.yaml
index 0ec802b0c0..f07a961814 100644
--- a/plots/windrose-basic/metadata/bokeh.yaml
+++ b/plots/windrose-basic/metadata/bokeh.yaml
@@ -11,6 +11,20 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/bokeh/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - patches
+ - manual-ticks
+ - custom-legend
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - alpha-blending
review:
strengths:
- Excellent polar coordinate handling by manually constructing wedge polygons with
diff --git a/plots/windrose-basic/metadata/highcharts.yaml b/plots/windrose-basic/metadata/highcharts.yaml
index 9c3dd8efd9..3c2b67c97b 100644
--- a/plots/windrose-basic/metadata/highcharts.yaml
+++ b/plots/windrose-basic/metadata/highcharts.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent wind rose visualization with clear polar stacked bar representation
diff --git a/plots/windrose-basic/metadata/letsplot.yaml b/plots/windrose-basic/metadata/letsplot.yaml
index ed00428429..c7f5a12478 100644
--- a/plots/windrose-basic/metadata/letsplot.yaml
+++ b/plots/windrose-basic/metadata/letsplot.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ - groupby-aggregation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent polar coordinate implementation with correct North orientation and clockwise
diff --git a/plots/windrose-basic/metadata/matplotlib.yaml b/plots/windrose-basic/metadata/matplotlib.yaml
index 1d1bf59c07..0201910c60 100644
--- a/plots/windrose-basic/metadata/matplotlib.yaml
+++ b/plots/windrose-basic/metadata/matplotlib.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of polar stacked bar chart following meteorological conventions
diff --git a/plots/windrose-basic/metadata/plotly.yaml b/plots/windrose-basic/metadata/plotly.yaml
index e6172717c3..0ab513e229 100644
--- a/plots/windrose-basic/metadata/plotly.yaml
+++ b/plots/windrose-basic/metadata/plotly.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Plotly go.Barpolar for proper wind rose visualization
diff --git a/plots/windrose-basic/metadata/plotnine.yaml b/plots/windrose-basic/metadata/plotnine.yaml
index 5374015d34..dc4dc09fe8 100644
--- a/plots/windrose-basic/metadata/plotnine.yaml
+++ b/plots/windrose-basic/metadata/plotnine.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ - custom-legend
+ - annotations
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of wind rose using manual polygon geometry in plotnine
diff --git a/plots/windrose-basic/metadata/pygal.yaml b/plots/windrose-basic/metadata/pygal.yaml
index 896c808b29..2918bb8acf 100644
--- a/plots/windrose-basic/metadata/pygal.yaml
+++ b/plots/windrose-basic/metadata/pygal.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/pygal/plot.html
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep: []
+ styling: []
review:
strengths:
- Effective cumulative stacking approach creates proper wind rose visual representation
diff --git a/plots/windrose-basic/metadata/seaborn.yaml b/plots/windrose-basic/metadata/seaborn.yaml
index 1c4e757e20..75c925cb4b 100644
--- a/plots/windrose-basic/metadata/seaborn.yaml
+++ b/plots/windrose-basic/metadata/seaborn.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/windrose-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - polar-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent wind rose visualization with proper meteorological conventions (North
diff --git a/plots/wireframe-3d-basic/metadata/bokeh.yaml b/plots/wireframe-3d-basic/metadata/bokeh.yaml
index 9a0ecfe40e..4f788955e2 100644
--- a/plots/wireframe-3d-basic/metadata/bokeh.yaml
+++ b/plots/wireframe-3d-basic/metadata/bokeh.yaml
@@ -11,6 +11,19 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-basic/bokeh/plot.html
quality_score: 90
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - annotations
+ - patches
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Creative solution using 2D projection to simulate 3D wireframe in Bokeh which
diff --git a/plots/wireframe-3d-basic/metadata/highcharts.yaml b/plots/wireframe-3d-basic/metadata/highcharts.yaml
index 791b0337f4..24872bb91e 100644
--- a/plots/wireframe-3d-basic/metadata/highcharts.yaml
+++ b/plots/wireframe-3d-basic/metadata/highcharts.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-basic/highcharts/plot.html
quality_score: 90
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - 3d-projection
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of wireframe effect using scatter3d with line connections
diff --git a/plots/wireframe-3d-basic/metadata/matplotlib.yaml b/plots/wireframe-3d-basic/metadata/matplotlib.yaml
index f891a029de..e6b21e2921 100644
--- a/plots/wireframe-3d-basic/metadata/matplotlib.yaml
+++ b/plots/wireframe-3d-basic/metadata/matplotlib.yaml
@@ -11,6 +11,18 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - explicit-figure
+ dataprep: []
+ styling:
+ - grid-styling
review:
strengths:
- Excellent implementation of the ripple function z = sin(sqrt(x² + y²)) as specified
diff --git a/plots/wireframe-3d-basic/metadata/plotly.yaml b/plots/wireframe-3d-basic/metadata/plotly.yaml
index 6075d84601..98b193b62c 100644
--- a/plots/wireframe-3d-basic/metadata/plotly.yaml
+++ b/plots/wireframe-3d-basic/metadata/plotly.yaml
@@ -11,6 +11,17 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-ba
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wireframe-3d-basic/plotly/plot.html
quality_score: 92
+impl_tags:
+ dependencies: []
+ techniques:
+ - 3d-projection
+ - html-export
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent implementation of wireframe using Scatter3d traces for both x and y
diff --git a/plots/wordcloud-basic/metadata/altair.yaml b/plots/wordcloud-basic/metadata/altair.yaml
index 338d0624be..117e3b3253 100644
--- a/plots/wordcloud-basic/metadata/altair.yaml
+++ b/plots/wordcloud-basic/metadata/altair.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/altair/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/altair/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Creative spiral positioning algorithm for word placement without overlaps
diff --git a/plots/wordcloud-basic/metadata/bokeh.yaml b/plots/wordcloud-basic/metadata/bokeh.yaml
index fa450ba89b..07df3518a7 100644
--- a/plots/wordcloud-basic/metadata/bokeh.yaml
+++ b/plots/wordcloud-basic/metadata/bokeh.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/bokeh/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/bokeh/plot.html
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean semantic color scheme using Python blue/yellow branding that encodes frequency
diff --git a/plots/wordcloud-basic/metadata/highcharts.yaml b/plots/wordcloud-basic/metadata/highcharts.yaml
index df9d424bf8..9c1f9938f6 100644
--- a/plots/wordcloud-basic/metadata/highcharts.yaml
+++ b/plots/wordcloud-basic/metadata/highcharts.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/highcharts/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/highcharts/plot.html
quality_score: 91
+impl_tags:
+ dependencies:
+ - selenium
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent use of Highcharts wordcloud module with proper configuration (archimedean
diff --git a/plots/wordcloud-basic/metadata/letsplot.yaml b/plots/wordcloud-basic/metadata/letsplot.yaml
index d99db36f79..0ab8a97d11 100644
--- a/plots/wordcloud-basic/metadata/letsplot.yaml
+++ b/plots/wordcloud-basic/metadata/letsplot.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/letsplot/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/letsplot/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Excellent collision detection algorithm ensures no overlapping words
diff --git a/plots/wordcloud-basic/metadata/matplotlib.yaml b/plots/wordcloud-basic/metadata/matplotlib.yaml
index 10b9b0aeda..db5f54539d 100644
--- a/plots/wordcloud-basic/metadata/matplotlib.yaml
+++ b/plots/wordcloud-basic/metadata/matplotlib.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/matplotlib/plot_thumb.png
preview_html: null
quality_score: 92
+impl_tags:
+ dependencies:
+ - wordcloud
+ techniques: []
+ patterns:
+ - data-generation
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- 'Excellent data choice: Tech skills survey provides relatable, realistic context
diff --git a/plots/wordcloud-basic/metadata/plotly.yaml b/plots/wordcloud-basic/metadata/plotly.yaml
index ca467ef2f2..5ad46ab3d2 100644
--- a/plots/wordcloud-basic/metadata/plotly.yaml
+++ b/plots/wordcloud-basic/metadata/plotly.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/plotly/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/plotly/plot.html
quality_score: 91
+impl_tags:
+ dependencies: []
+ techniques:
+ - hover-tooltips
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Clean manual positioning algorithm that prevents word overlap while maintaining
diff --git a/plots/wordcloud-basic/metadata/plotnine.yaml b/plots/wordcloud-basic/metadata/plotnine.yaml
index 4fdf4631b0..e1f59c15cc 100644
--- a/plots/wordcloud-basic/metadata/plotnine.yaml
+++ b/plots/wordcloud-basic/metadata/plotnine.yaml
@@ -11,6 +11,14 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/plotnine/plot_thumb.png
preview_html: null
quality_score: 78
+impl_tags:
+ dependencies: []
+ techniques:
+ - annotations
+ patterns:
+ - explicit-figure
+ dataprep: []
+ styling: []
review:
strengths:
- Excellent no-overlap word placement with hand-crafted positions
diff --git a/plots/wordcloud-basic/metadata/pygal.yaml b/plots/wordcloud-basic/metadata/pygal.yaml
index 7800ded193..c5b3bdf7fd 100644
--- a/plots/wordcloud-basic/metadata/pygal.yaml
+++ b/plots/wordcloud-basic/metadata/pygal.yaml
@@ -11,6 +11,15 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/pygal/plot_thumb.png
preview_html: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/pygal/plot.html
quality_score: 86
+impl_tags:
+ dependencies:
+ - pillow
+ techniques:
+ - html-export
+ patterns:
+ - data-generation
+ dataprep: []
+ styling: []
review:
strengths:
- Creative approach using pygal XY chart as SVG canvas for word cloud rendering
diff --git a/plots/wordcloud-basic/metadata/seaborn.yaml b/plots/wordcloud-basic/metadata/seaborn.yaml
index 364c989338..b9b63f30ad 100644
--- a/plots/wordcloud-basic/metadata/seaborn.yaml
+++ b/plots/wordcloud-basic/metadata/seaborn.yaml
@@ -11,6 +11,16 @@ preview_url: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/wordcloud-basic/seaborn/plot_thumb.png
preview_html: null
quality_score: 68
+impl_tags:
+ dependencies: []
+ techniques:
+ - layer-composition
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - minimal-chrome
review:
strengths:
- Creative approach using seaborn scatterplot as subtle background visualization
diff --git a/prompts/impl-tags-generator.md b/prompts/impl-tags-generator.md
new file mode 100644
index 0000000000..977103242e
--- /dev/null
+++ b/prompts/impl-tags-generator.md
@@ -0,0 +1,256 @@
+# Impl Tags Generator
+
+AI rules for assigning Implementation-Level Tags.
+
+These tags describe **HOW** the code is implemented, not **WHAT** is visualized.
+
+---
+
+## Naming Convention
+
+**For ALL tags:**
+- All lowercase
+- Hyphens for multi-word: `twin-axes`, `data-generation`, `publication-ready`
+- No underscores, no spaces
+- Prefer established terms from the programming community
+
+---
+
+## The 5 Tag Dimensions
+
+### 1. dependencies - "Which external packages are used?"
+
+**Purpose:** Captures external libraries beyond the main plotting library.
+
+**Question:** "Which additional packages are imported?"
+
+**Recommended Values:**
+
+| Tag | Description | Detection Pattern |
+|-----|-------------|-------------------|
+| `scipy` | scipy.stats, scipy.cluster, etc. | `from scipy import`, `import scipy` |
+| `sklearn` | scikit-learn | `from sklearn import`, `import sklearn` |
+| `statsmodels` | Statistical modeling | `import statsmodels` |
+| `networkx` | Graph/network operations | `import networkx` |
+| `selenium` | Browser automation for export | `from selenium import` |
+| `pillow` | Image processing | `from PIL import` |
+| `geopandas` | Geospatial data | `import geopandas` |
+| `shapely` | Geometric operations | `from shapely import` |
+| `wordcloud` | Wordcloud generation | `from wordcloud import` |
+
+**Rules:**
+- Only tag when library is actually imported
+- Do NOT tag numpy, pandas, and the main plotting library
+- Do NOT tag standard library (os, sys, datetime)
+
+---
+
+### 2. techniques - "Which visualization techniques are used?"
+
+**Purpose:** Describes specific visualization and coding techniques.
+
+**Question:** "Which techniques go beyond basic API usage?"
+
+**Recommended Values:**
+
+| Tag | Description | Detection Pattern |
+|-----|-------------|-------------------|
+| `twin-axes` | Secondary Y-axis | `ax.twinx()`, `ax.twiny()` |
+| `manual-ticks` | Custom tick positions | `set_xticks()`, `set_yticks()` |
+| `annotations` | Text annotations | `ax.annotate()`, `ax.text()` |
+| `colorbar` | Color scale legend | `fig.colorbar()`, `plt.colorbar()` |
+| `subplots` | Multiple plot panels | `plt.subplots(2, 2)`, `fig.add_subplot()` |
+| `faceting` | Small multiples | `FacetGrid`, `alt.facet()` |
+| `layer-composition` | Multiple geom layers | Multiple marks combined |
+| `custom-legend` | Manually constructed legend | `ax.legend(handles=[...])` |
+| `inset-axes` | Axes within axes | `inset_axes()` |
+| `polar-projection` | Polar coordinate system | `projection='polar'` |
+| `3d-projection` | 3D visualization | `projection='3d'` |
+| `bezier-curves` | Custom curves | `Path()` with CURVE4 |
+| `patches` | Custom shapes | `mpatches.Wedge`, `mpatches.Circle` |
+| `hover-tooltips` | Interactive hover info | `HoverTool`, `tooltip` |
+| `html-export` | Generates HTML output | `.save('plot.html')` |
+
+**Rules:**
+- Tag techniques that go beyond basic API usage
+- Library-specific features count (e.g., Bokeh callbacks)
+
+---
+
+### 3. patterns - "Which code structure patterns are used?"
+
+**Purpose:** Identifies coding patterns and data organization.
+
+**Question:** "Which structural patterns are recognizable in the code?"
+
+**Recommended Values:**
+
+| Tag | Description | Detection Pattern |
+|-----|-------------|-------------------|
+| `data-generation` | Synthetic data creation | `np.random.randn()`, `np.random.seed()` |
+| `dataset-loading` | Loads built-in dataset | `sns.load_dataset()`, `load_iris()` |
+| `wide-to-long` | Data reshaping | `pd.melt()` |
+| `long-to-wide` | Data pivoting | `df.pivot()` |
+| `groupby-aggregation` | Group and aggregate | `df.groupby().agg()` |
+| `iteration-over-groups` | Loops for multi-series | `for group in groups:` |
+| `matrix-construction` | Builds 2D array | `np.zeros((n, m))`, `np.empty()` |
+| `columndatasource` | Bokeh data pattern | `ColumnDataSource(data={...})` |
+| `explicit-figure` | Creates figure explicitly | `fig, ax = plt.subplots()` |
+
+**Rules:**
+- Most simple plots have no patterns (empty list is OK)
+- Only tag distinctive structural patterns
+
+---
+
+### 4. dataprep - "Which data transformations are performed?"
+
+**Purpose:** Captures statistical or mathematical transformations.
+
+**Question:** "Which significant data processing steps are there?"
+
+**Recommended Values:**
+
+| Tag | Description | Detection Pattern |
+|-----|-------------|-------------------|
+| `hierarchical-clustering` | Linkage/dendrogram | `linkage()`, `dendrogram()` |
+| `kde` | Kernel Density Estimation | `gaussian_kde()`, `kdeplot` |
+| `binning` | Data discretization | `np.histogram()`, `pd.cut()` |
+| `normalization` | Scaling | `MinMaxScaler`, manual scaling |
+| `correlation-matrix` | Correlation calculation | `df.corr()` |
+| `cumulative-sum` | Running sums | `np.cumsum()` |
+| `time-series` | Date/time index handling | `pd.date_range()` |
+| `interpolation` | Value interpolation | `scipy.interpolate` |
+| `rolling-window` | Moving averages | `df.rolling()` |
+| `pca` | Dimensionality reduction | `PCA(n_components=2)` |
+| `regression` | Regression calculation | `linregress()`, `polyfit()` |
+
+**Rules:**
+- Tag significant data transformations
+- Simple array creation = no tag
+
+---
+
+### 5. styling - "Which visual style is used?"
+
+**Purpose:** Describes distinctive visual/aesthetic choices that deviate from defaults.
+
+**Question:** "Was the default styling explicitly changed?"
+
+**Recommended Values:**
+
+| Tag | Description | Detection Pattern |
+|-----|-------------|-------------------|
+| `minimal-chrome` | Axes/frames hidden | `ax.axis('off')`, `theme_void()`, `frameon=False` |
+| `custom-colormap` | Continuous color scale | `cmap=`, `color_continuous_scale=`, `colorscale=` |
+| `alpha-blending` | Transparency for overlapping elements | `alpha=0.X` (not default) |
+| `edge-highlighting` | Explicit edge colors on markers/bars | `edgecolor='white'`, `linewidth` on shapes |
+| `gradient-fill` | Color gradients in fills | Gradient-based styling |
+| `grid-styling` | Custom grid appearance | `ax.grid(alpha=..., linestyle=...)` |
+| `dark-theme` | Dark background | `plt.style.use('dark_background')` |
+
+**Rules:**
+- Most plots use standard styling (empty list is OK)
+- Only tag when styling is explicitly customized
+- Do NOT tag `custom-colormap` for manual color definitions (e.g., `colors = ['red', 'blue']`)
+- `custom-colormap` is ONLY for continuous colormaps (heatmaps, scatter color-mapping, etc.)
+
+---
+
+## Output Format
+
+```json
+{
+ "dependencies": ["scipy", "sklearn"],
+ "techniques": ["twin-axes", "colorbar"],
+ "patterns": ["data-generation", "matrix-construction"],
+ "dataprep": ["correlation-matrix"],
+ "styling": ["publication-ready", "alpha-blending"]
+}
+```
+
+Or as YAML in the metadata file:
+
+```yaml
+impl_tags:
+ dependencies:
+ - scipy
+ - sklearn
+ techniques:
+ - twin-axes
+ - colorbar
+ patterns:
+ - data-generation
+ - matrix-construction
+ dataprep:
+ - correlation-matrix
+ styling:
+ - publication-ready
+ - alpha-blending
+```
+
+---
+
+## Examples
+
+### matplotlib Chord Diagram
+```yaml
+impl_tags:
+ dependencies: []
+ techniques:
+ - bezier-curves
+ - patches
+ - manual-ticks
+ patterns:
+ - data-generation
+ - matrix-construction
+ - iteration-over-groups
+ dataprep: []
+ styling:
+ - publication-ready
+ - alpha-blending
+```
+
+### highcharts Dendrogram
+```yaml
+impl_tags:
+ dependencies:
+ - scipy
+ - selenium
+ techniques:
+ - html-export
+ - manual-ticks
+ patterns:
+ - data-generation
+ - iteration-over-groups
+ dataprep:
+ - hierarchical-clustering
+ styling:
+ - publication-ready
+```
+
+### seaborn Heatmap
+```yaml
+impl_tags:
+ dependencies: []
+ techniques:
+ - colorbar
+ - annotations
+ patterns:
+ - data-generation
+ dataprep:
+ - correlation-matrix
+ styling:
+ - custom-colormap
+```
+
+---
+
+## Best Practices
+
+1. **Tag conservatively** - Only tag what is clearly recognizable
+2. **Empty arrays are OK** - Simple implementations have few tags
+3. **Use established terms** - Prefer vocabulary from this list, but use any recognized term from the programming/data-viz community when appropriate (e.g., a new library not listed above should still be tagged)
+4. **Typically 3-8 tags total** - Per implementation
+5. **patterns is almost always filled** - At least `data-generation` or `dataset-loading`
+6. **dependencies only when imported** - Not available, but actually used
diff --git a/prompts/spec-tags-generator.md b/prompts/spec-tags-generator.md
new file mode 100644
index 0000000000..921d4a962a
--- /dev/null
+++ b/prompts/spec-tags-generator.md
@@ -0,0 +1,202 @@
+# Spec Tags Generator
+
+AI rules for assigning Specification-Level Tags.
+
+---
+
+## Naming Convention
+
+**For ALL tags:**
+- All lowercase
+- Hyphens for multi-word: `color-mapped`, `time-series`, `flow-visualization`
+- No underscores, no spaces
+- Prefer established terms from the data visualization community
+
+---
+
+## The 4 Tag Dimensions
+
+### 1. plot_type - "What is visualized?"
+
+**Purpose:** Describes the visual form and structure of the plot.
+
+**Question:** "How would a data visualization expert name this plot?"
+
+**Recommended Values:**
+
+| Category | Tags |
+|----------|------|
+| Basic Forms | `scatter`, `line`, `bar`, `pie`, `area`, `point` |
+| Distributions | `histogram`, `density`, `box`, `violin`, `strip`, `swarm`, `rug` |
+| Matrices | `heatmap`, `contour`, `hexbin` |
+| Hierarchies | `treemap`, `sunburst`, `dendrogram`, `icicle`, `circlepacking` |
+| Networks | `network`, `chord`, `arc`, `sankey`, `alluvial` |
+| Specialized | `candlestick`, `gauge`, `funnel`, `waterfall`, `radar`, `polar` |
+| Geospatial | `choropleth`, `map` |
+| Statistical | `qq`, `ecdf`, `calibration`, `bland-altman` |
+
+**Rules:**
+- Use established names from matplotlib/seaborn/plotly documentation
+- Multiple tags allowed when plot combines multiple types
+- Example: Sankey is also a `flow` plot
+
+---
+
+### 2. data_type - "What data is visualized?"
+
+**Purpose:** Describes the structure and nature of the input data.
+
+**Question:** "If someone has this type of data, would they search for this plot?"
+
+**Recommended Values:**
+
+| Category | Tags |
+|----------|------|
+| Numbers | `numeric`, `continuous`, `discrete` |
+| Categories | `categorical`, `ordinal` |
+| Time | `timeseries`, `datetime` |
+| Structure | `hierarchical`, `network`, `relational` |
+| Space | `geospatial`, `spatial` |
+| Text | `text`, `frequency` |
+| Matrix | `matrix`, `correlation` |
+
+**Rules:**
+- Focus on logical data structure, not technical format
+- Multiple tags when different data types are combined
+- Example: Scatter needs `numeric` for both axes
+
+---
+
+### 3. domain - "Where is it used?"
+
+**Purpose:** Describes typical application areas.
+
+**Question:** "Is there an industry where this plot is particularly common?"
+
+**Recommended Values:**
+
+| Category | Tags |
+|----------|------|
+| Universal | `general` |
+| Science | `statistics`, `science`, `research` |
+| Business | `business`, `finance`, `marketing` |
+| Technology | `engineering`, `technology` |
+| Other | `healthcare`, `education`, `energy`, `environment` |
+| ML/AI | `machine-learning`, `model-evaluation` |
+
+**Rules:**
+- `general` is default for universally applicable plots
+- Specific domains only when plot is particularly established there
+- Example: Candlestick → `finance`, Forest Plot → `healthcare`
+
+---
+
+### 4. features - "What are special properties?"
+
+**Purpose:** Describes variants, modifications, and special attributes.
+
+**Question:** "What distinguishes this variant from the base version?"
+
+**Recommended Values:**
+
+| Category | Tags |
+|----------|------|
+| Complexity | `basic`, `advanced` |
+| Layout | `grouped`, `stacked`, `horizontal`, `multi`, `faceted` |
+| Dimensions | `2d`, `3d` |
+| Interaction | `interactive`, `animated`, `static` |
+| Function | `comparison`, `distribution`, `correlation`, `ranking` |
+| Display | `annotated`, `color-mapped`, `proportional` |
+| Special | `flow`, `temporal`, `cumulative`, `stepwise` |
+
+**Rules:**
+- Describe what makes the plot SPECIAL
+- Multiple tags allowed
+- `basic` is informative - indicates base variant
+
+---
+
+## Output Format
+
+```yaml
+tags:
+ plot_type:
+ - {primary-type}
+ - {secondary-type} # optional
+ data_type:
+ - {primary-datatype}
+ - {secondary-datatype} # optional
+ domain:
+ - general # always when universally applicable
+ - {specific-domain} # optional
+ features:
+ - basic # or specific features
+ - {additional-features}
+```
+
+---
+
+## Examples
+
+### scatter-basic
+```yaml
+tags:
+ plot_type:
+ - scatter
+ data_type:
+ - numeric
+ - continuous
+ domain:
+ - statistics
+ - general
+ features:
+ - basic
+ - 2d
+ - correlation
+```
+
+### sankey-basic
+```yaml
+tags:
+ plot_type:
+ - sankey
+ - flow
+ data_type:
+ - categorical
+ - numeric
+ domain:
+ - general
+ - business
+ features:
+ - basic
+ - flow
+ - proportional
+```
+
+### heatmap-calendar
+```yaml
+tags:
+ plot_type:
+ - heatmap
+ - calendar
+ data_type:
+ - datetime
+ - numeric
+ domain:
+ - general
+ - business
+ features:
+ - basic
+ - temporal
+ - color-mapped
+```
+
+---
+
+## Best Practices
+
+1. **Specific but not excessive** - 2-4 tags per dimension is typical
+2. **Think like a user** - What would someone type in a search?
+3. **Use established terms** - Prefer listed vocabulary, but any recognized term from the data-viz community is valid
+4. **general is OK** - Not every plot needs a specialized domain
+5. **basic is informative** - Indicates this is the base variant
diff --git a/prompts/templates/metadata.yaml b/prompts/templates/metadata.yaml
index 4be6e0a6af..f7cdae1f49 100644
--- a/prompts/templates/metadata.yaml
+++ b/prompts/templates/metadata.yaml
@@ -25,7 +25,25 @@ preview_html: null # Interactive HTML (plotly, bokeh, altair, etc.)
# Quality score (0-100, filled by impl-review)
quality_score: null
+# Implementation-level tags (filled by impl-review, describes HOW the code implements)
+impl_tags:
+ dependencies: [] # External packages (scipy, sklearn, etc.)
+ techniques: [] # Visualization techniques (twin-axes, colorbar, etc.)
+ patterns: [] # Code patterns (data-generation, iteration-over-groups, etc.)
+ dataprep: [] # Data transformations (kde, binning, correlation-matrix, etc.)
+ styling: [] # Visual style (publication-ready, alpha-blending, etc.)
+
# Review feedback (filled by impl-review, read by impl-generate for regeneration)
review:
+ # AI's visual description of the generated plot
+ image_description: null
+
+ # Detailed scoring breakdown by category
+ criteria_checklist: null
+
+ # Final verdict (APPROVED, REJECTED, etc.)
+ verdict: null
+
+ # Summary feedback
strengths: [] # What's good about this implementation
weaknesses: [] # What needs improvement (AI decides HOW to fix)
diff --git a/tests/unit/api/test_main.py b/tests/unit/api/test_main.py
index b769f869cf..e19a232949 100644
--- a/tests/unit/api/test_main.py
+++ b/tests/unit/api/test_main.py
@@ -239,11 +239,11 @@ def test_app_title(self) -> None:
def test_app_version(self) -> None:
"""App should have correct version."""
- assert app.version == "0.2.0"
+ assert app.version == "1.0.0"
def test_app_description(self) -> None:
"""App should have description."""
- assert "AI-powered" in app.description
+ assert "pyplots" in app.description.lower()
assert "plotting" in app.description.lower()
diff --git a/tests/unit/api/test_routers.py b/tests/unit/api/test_routers.py
index 395d7aa2c4..3059e39ca0 100644
--- a/tests/unit/api/test_routers.py
+++ b/tests/unit/api/test_routers.py
@@ -844,54 +844,103 @@ class TestPlotsHelperFunctions:
def test_image_matches_groups_empty(self) -> None:
"""Empty groups should match any image."""
spec_lookup = {"scatter-basic": {"tags": {"plot_type": ["scatter"]}}}
- assert _image_matches_groups("scatter-basic", "matplotlib", [], spec_lookup) is True
+ assert _image_matches_groups("scatter-basic", "matplotlib", [], spec_lookup, {}) is True
def test_image_matches_groups_lib_match(self) -> None:
"""Library filter should match correct library."""
spec_lookup = {"scatter-basic": {"tags": {}}}
groups = [{"category": "lib", "values": ["matplotlib"]}]
- assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup) is True
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, {}) is True
def test_image_matches_groups_lib_no_match(self) -> None:
"""Library filter should not match wrong library."""
spec_lookup = {"scatter-basic": {"tags": {}}}
groups = [{"category": "lib", "values": ["seaborn"]}]
- assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup) is False
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, {}) is False
def test_image_matches_groups_spec_match(self) -> None:
"""Spec filter should match correct spec."""
spec_lookup = {"scatter-basic": {"tags": {}}}
groups = [{"category": "spec", "values": ["scatter-basic"]}]
- assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup) is True
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, {}) is True
def test_image_matches_groups_plot_type_match(self) -> None:
"""Plot type filter should match correct tag."""
spec_lookup = {"scatter-basic": {"tags": {"plot_type": ["scatter"]}}}
groups = [{"category": "plot", "values": ["scatter"]}]
- assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup) is True
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, {}) is True
def test_image_matches_groups_data_type_match(self) -> None:
"""Data type filter should match correct tag."""
spec_lookup = {"scatter-basic": {"tags": {"data_type": ["numeric"]}}}
groups = [{"category": "data", "values": ["numeric"]}]
- assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup) is True
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, {}) is True
def test_image_matches_groups_domain_match(self) -> None:
"""Domain filter should match correct tag."""
spec_lookup = {"scatter-basic": {"tags": {"domain": ["statistics"]}}}
groups = [{"category": "dom", "values": ["statistics"]}]
- assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup) is True
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, {}) is True
def test_image_matches_groups_features_match(self) -> None:
"""Features filter should match correct tag."""
spec_lookup = {"scatter-basic": {"tags": {"features": ["basic"]}}}
groups = [{"category": "feat", "values": ["basic"]}]
- assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup) is True
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, {}) is True
def test_image_matches_groups_spec_not_in_lookup(self) -> None:
"""Spec not in lookup should not match."""
spec_lookup = {}
- assert _image_matches_groups("unknown", "matplotlib", [], spec_lookup) is False
+ assert _image_matches_groups("unknown", "matplotlib", [], spec_lookup, {}) is False
+
+ def test_image_matches_groups_dep_match(self) -> None:
+ """Dependencies filter should match impl_tags."""
+ spec_lookup = {"scatter-basic": {"tags": {}}}
+ impl_lookup = {("scatter-basic", "matplotlib"): {"dependencies": ["scipy", "sklearn"]}}
+ groups = [{"category": "dep", "values": ["scipy"]}]
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, impl_lookup) is True
+
+ def test_image_matches_groups_dep_no_match(self) -> None:
+ """Dependencies filter should not match if not in impl_tags."""
+ spec_lookup = {"scatter-basic": {"tags": {}}}
+ impl_lookup = {("scatter-basic", "matplotlib"): {"dependencies": ["scipy"]}}
+ groups = [{"category": "dep", "values": ["networkx"]}]
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, impl_lookup) is False
+
+ def test_image_matches_groups_tech_match(self) -> None:
+ """Techniques filter should match impl_tags."""
+ spec_lookup = {"scatter-basic": {"tags": {}}}
+ impl_lookup = {("scatter-basic", "matplotlib"): {"techniques": ["annotations", "colorbar"]}}
+ groups = [{"category": "tech", "values": ["annotations"]}]
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, impl_lookup) is True
+
+ def test_image_matches_groups_pat_match(self) -> None:
+ """Patterns filter should match impl_tags."""
+ spec_lookup = {"scatter-basic": {"tags": {}}}
+ impl_lookup = {("scatter-basic", "matplotlib"): {"patterns": ["data-generation", "iteration-over-groups"]}}
+ groups = [{"category": "pat", "values": ["data-generation"]}]
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, impl_lookup) is True
+
+ def test_image_matches_groups_prep_match(self) -> None:
+ """Dataprep filter should match impl_tags."""
+ spec_lookup = {"scatter-basic": {"tags": {}}}
+ impl_lookup = {("scatter-basic", "matplotlib"): {"dataprep": ["kde", "binning"]}}
+ groups = [{"category": "prep", "values": ["kde"]}]
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, impl_lookup) is True
+
+ def test_image_matches_groups_style_match(self) -> None:
+ """Styling filter should match impl_tags."""
+ spec_lookup = {"scatter-basic": {"tags": {}}}
+ impl_lookup = {("scatter-basic", "matplotlib"): {"styling": ["alpha-blending", "minimal-chrome"]}}
+ groups = [{"category": "style", "values": ["alpha-blending"]}]
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, impl_lookup) is True
+
+ def test_image_matches_groups_impl_not_in_lookup(self) -> None:
+ """Impl not in lookup should not match impl-level filters."""
+ spec_lookup = {"scatter-basic": {"tags": {}}}
+ impl_lookup = {} # Empty - no impl data
+ groups = [{"category": "dep", "values": ["scipy"]}]
+ assert _image_matches_groups("scatter-basic", "matplotlib", groups, spec_lookup, impl_lookup) is False
def test_calculate_global_counts(self) -> None:
"""Global counts should tally all implementations."""
@@ -910,6 +959,36 @@ def test_calculate_global_counts(self) -> None:
assert counts["plot"]["scatter"] == 1
assert counts["dom"]["statistics"] == 1
+ def test_calculate_global_counts_with_impl_tags(self) -> None:
+ """Global counts should include impl-level tags."""
+ mock_impl = MagicMock()
+ mock_impl.library_id = "matplotlib"
+ mock_impl.preview_url = TEST_IMAGE_URL
+ mock_impl.impl_tags = {
+ "dependencies": ["scipy", "sklearn"],
+ "techniques": ["annotations"],
+ "patterns": ["data-generation"],
+ "dataprep": ["kde"],
+ "styling": ["alpha-blending"],
+ }
+
+ mock_spec = MagicMock()
+ mock_spec.id = "scatter-basic"
+ mock_spec.tags = {"plot_type": ["scatter"]}
+ mock_spec.impls = [mock_impl]
+
+ counts = _calculate_global_counts([mock_spec])
+ # Spec-level counts
+ assert counts["lib"]["matplotlib"] == 1
+ assert counts["plot"]["scatter"] == 1
+ # Impl-level counts
+ assert counts["dep"]["scipy"] == 1
+ assert counts["dep"]["sklearn"] == 1
+ assert counts["tech"]["annotations"] == 1
+ assert counts["pat"]["data-generation"] == 1
+ assert counts["prep"]["kde"] == 1
+ assert counts["style"]["alpha-blending"] == 1
+
def test_calculate_global_counts_no_impls(self) -> None:
"""Spec without impls should not be counted."""
mock_spec = MagicMock()
@@ -940,16 +1019,53 @@ def test_calculate_contextual_counts(self) -> None:
{"spec_id": "scatter-basic", "library": "seaborn"},
]
spec_tags = {"scatter-basic": {"plot_type": ["scatter"]}}
+ impl_lookup = {} # Empty impl_lookup for this test
- counts = _calculate_contextual_counts(images, spec_tags)
+ counts = _calculate_contextual_counts(images, spec_tags, impl_lookup)
assert counts["lib"]["matplotlib"] == 1
assert counts["lib"]["seaborn"] == 1
assert counts["spec"]["scatter-basic"] == 2
assert counts["plot"]["scatter"] == 2
+ def test_calculate_contextual_counts_with_impl_tags(self) -> None:
+ """Contextual counts should include impl-level tags."""
+ images = [
+ {"spec_id": "scatter-basic", "library": "matplotlib"},
+ {"spec_id": "scatter-basic", "library": "seaborn"},
+ ]
+ spec_tags = {"scatter-basic": {"plot_type": ["scatter"]}}
+ impl_lookup = {
+ ("scatter-basic", "matplotlib"): {
+ "dependencies": ["scipy"],
+ "techniques": ["annotations"],
+ "patterns": ["data-generation"],
+ "dataprep": ["kde"],
+ "styling": ["alpha-blending"],
+ },
+ ("scatter-basic", "seaborn"): {
+ "dependencies": ["scipy", "sklearn"],
+ "techniques": ["colorbar"],
+ "patterns": ["data-generation"],
+ "dataprep": [],
+ "styling": [],
+ },
+ }
+
+ counts = _calculate_contextual_counts(images, spec_tags, impl_lookup)
+ # Spec-level counts
+ assert counts["plot"]["scatter"] == 2
+ # Impl-level counts
+ assert counts["dep"]["scipy"] == 2
+ assert counts["dep"]["sklearn"] == 1
+ assert counts["tech"]["annotations"] == 1
+ assert counts["tech"]["colorbar"] == 1
+ assert counts["pat"]["data-generation"] == 2
+ assert counts["prep"]["kde"] == 1
+ assert counts["style"]["alpha-blending"] == 1
+
def test_calculate_or_counts_empty_groups(self) -> None:
"""Empty groups should return empty or_counts."""
- counts = _calculate_or_counts([], [], {}, {})
+ counts = _calculate_or_counts([], [], {}, {}, {})
assert counts == []
def test_calculate_or_counts_single_group(self) -> None:
@@ -961,8 +1077,9 @@ def test_calculate_or_counts_single_group(self) -> None:
]
spec_lookup = {"scatter-basic": {"tags": {}}}
spec_tags = {"scatter-basic": {}}
+ impl_lookup = {}
- counts = _calculate_or_counts(groups, images, spec_tags, spec_lookup)
+ counts = _calculate_or_counts(groups, images, spec_tags, spec_lookup, impl_lookup)
assert len(counts) == 1
# Each library appears once across all images
assert counts[0]["matplotlib"] == 1
diff --git a/tests/unit/core/database/test_connection.py b/tests/unit/core/database/test_connection.py
index 3976d75288..e379461634 100644
--- a/tests/unit/core/database/test_connection.py
+++ b/tests/unit/core/database/test_connection.py
@@ -168,8 +168,9 @@ def test_creates_direct_engine_with_database_url(self, monkeypatch):
importlib.reload(conn)
conn.engine = None # Ensure clean state
+ conn._sync_session_factory = None # Reset sync session factory
- with patch.object(conn, "_create_direct_engine") as mock_create:
+ with patch.object(conn, "_create_direct_engine_sync") as mock_create:
mock_engine = MagicMock()
mock_create.return_value = mock_engine
@@ -180,6 +181,7 @@ def test_creates_direct_engine_with_database_url(self, monkeypatch):
# Cleanup
conn.engine = None
+ conn._sync_session_factory = None
def test_warns_when_no_config(self, monkeypatch, caplog):
"""Should warn when no database configuration found."""