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 ( - handleCategorySelect(category)} - selected={visibleIdx === highlightedIndex} - sx={{ fontFamily: '"MonoLisa", "MonoLisa Fallback", monospace' }} + title={FILTER_TOOLTIPS[category]} + placement="right" + arrow > - - + handleCategorySelect(category)} + selected={visibleIdx === highlightedIndex} + sx={{ fontFamily: '"MonoLisa", "MonoLisa Fallback", monospace' }} + > + + + ); }) : // 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."""