Repository navigation
[box-basic] matplotlib implementation #214
Copy link
Copy link
Closed
Labels
ai-review-failedAI review action failed or timed outAI review action failed or timed out
Description
Activity
- added a parent issue
on Dec 6, 2025 github-actions commented
on Dec 6, 2025 on Dec 6, 2025 – with GitHub ActionsContributorAuthorMore actionsAttempt 1/3
Technical Approach
- Imports:
import matplotlib.pyplot as plt, import numpy as np, import pandas as pd - Plot function:
ax.boxplot - Config: figsize=16, 9, style=--
Status
- PR: feat(matplotlib): implement box-basic #294
- File:
plots/matplotlib/boxplot/box-basic/default.py - Workflow: 19995639100
- Imports:
github-actions commented
on Dec 6, 2025 on Dec 6, 2025 – with GitHub ActionsContributorAuthorMore actions🧪 Test Results (PR #294)
📊 Plot Preview (Python 3.13)
matplotlib (default) - UPDATE
Before After View version history (4 versions)
🤖 Generated by gen-preview workflow
- addedai-review-failedAI review action failed or timed outAI review action failed or timed outand removed
on Dec 6, 2025 github-actions commented
on Dec 6, 2025 on Dec 6, 2025 – with GitHub ActionsContributorAuthorMore actions⚠️ AI Review FailedThe AI review action failed or timed out.
Options:
- Re-run the workflow manually
- Trigger a new preview generation
- Request manual human review
🤖 Automated notification
github-actions commented
on Dec 6, 2025 on Dec 6, 2025 – with GitHub ActionsContributorAuthorMore actions🧪 Test Results (PR #294)
📊 Plot Preview (Python 3.13)
matplotlib (default) - UPDATE
Before After View version history (5 versions)
🤖 Generated by gen-preview workflow
AI Review - Attempt 1/3
Quality Evaluation
Evaluator Score Verdict Claude 92/100 approve Criteria Checklist
Visual Quality
- VQ-001: Axes labeled correctly ("Group" and "Value" - meaningful labels)
- VQ-002: Visual clarity (grid is subtle, y-axis only, dashed with alpha=0.3)
- VQ-003: Elements clear (boxes, whiskers, medians, and outliers all visible with good contrast)
- VQ-004: No overlap (labels, ticks, and elements well-spaced)
- VQ-005: Legend present - N/A (single visualization type, no color mapping requiring legend)
- VQ-006: Colorblind safe (uses Set2 colormap which is colorblind-friendly)
- VQ-007: Image size (16:9 aspect ratio, proper dimensions)
- VQ-008: Title present and centered ("Basic Box Plot")
Code Quality
- CQ-001: Type hints present (all parameters and return type annotated)
- CQ-002: Docstring complete (Google-style with Args, Returns, Raises, Example)
- CQ-003: Input validation (checks for empty data and missing columns)
- CQ-004: Clear error messages (includes available columns in KeyError)
- CQ-005: No magic numbers (figsize, widths, alpha all parameterized or documented)
Correctness
- CR-001: Data accurate (correctly groups data and creates boxplot)
- CR-002: Spec compliance (shows quartiles, whiskers at 1.5×IQR, outliers as points)
- CR-003: Edge cases handled (empty data raises ValueError, NaN values dropped via dropna())
Library-Specific
- Uses
tick_labelsinstead of deprecatedlabelsparameter (matplotlib 3.9+ compatible) - Uses Axes methods (
ax.boxplot()) instead of pyplot - Correct folder structure:
plots/matplotlib/boxplot/box-basic/
Issues Found
None - implementation is solid and meets all criteria.
Minor Observations (not point deductions)
- The red median line color (#FF0000) is distinctive but could potentially be considered high-contrast; however, it serves its purpose well for visibility.
- The implementation includes thoughtful extras like automatic x-label rotation for many groups.
AI Feedback for Next Attempt
N/A - No improvements needed.
Verdict: APPROVED
The implementation correctly creates a box-and-whisker plot that:
- Displays quartiles (Q1, median, Q3) for each group
- Shows whiskers extending to data range within 1.5×IQR
- Marks outliers as individual points
- Uses colorblind-safe palette
- Follows all matplotlib best practices and library-specific guidelines
- addedai-approvedQuality OK, ready for mergeQuality OK, ready for mergeand removed
on Dec 6, 2025 - added a commit that references this issue
on Dec 6, 2025 - added and removedai-approvedQuality OK, ready for mergeQuality OK, ready for merge
on Dec 6, 2025 github-actions commented
on Dec 6, 2025 on Dec 6, 2025 – with GitHub ActionsContributorAuthorMore actionsMerged
matplotlib implementation for
box-basichas been merged!
🚀 Auto-merged by pyplots CI
Metadata
Metadata
Assignees
Labels
ai-review-failedAI review action failed or timed outAI review action failed or timed out



[box-basic] matplotlib Implementation
Parent Issue: #203
Spec:
specs/box-basic.mdLibrary: matplotlib
Feature Branch:
plot/box-basicAttempt History
Attempts will be documented below as comments.