-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmatplotlib.yaml
More file actions
248 lines (247 loc) · 8.66 KB
/
matplotlib.yaml
File metadata and controls
248 lines (247 loc) · 8.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
library: matplotlib
language: python
specification_id: rose-basic
created: '2025-12-23T19:42:44Z'
updated: '2026-04-30T07:19:45Z'
generated_by: claude-sonnet
workflow_run: 25151596448
issue: 1003
python_version: 3.13.13
library_version: 3.10.9
preview_url_light: https://storage.googleapis.com/anyplot-images/plots/rose-basic/python/matplotlib/plot-light.png
preview_url_dark: https://storage.googleapis.com/anyplot-images/plots/rose-basic/python/matplotlib/plot-dark.png
preview_html_light: null
preview_html_dark: null
quality_score: 80
review:
strengths:
- 'Perfect spec compliance (15/15): correct rose chart type, all required features,
title format correct'
- Realistic and neutral dataset (monthly rainfall) naturally demonstrates cyclical
seasonal patterns
- Clean 12-month label spacing at 30° intervals with no overlap
- Subtle dashed radial grid at low alpha does not compete with data
- Both light and dark renders display correctly with appropriate backgrounds and
readable text in all elements
weaknesses:
- 'Code saves as plot.png instead of plot-{THEME}.png — pipeline critical: fix to
plt.savefig(f"plot-{THEME}.png")'
- 'Code uses color="#306998" (Python blue) instead of #009E73 (Okabe-Ito position
1, brand green)'
- 'No theme adaptation: ANYPLOT_THEME env var not read, no PAGE_BG/INK/INK_SOFT
tokens — dark render would fail in a fresh execution'
- Code title contains "pyplots.ai" instead of "anyplot.ai"
- 16:9 canvas is suboptimal for a circular chart — use figsize=(12,12) square so
the rose fills the frame
- Radial tick labels at 14pt; should be 16pt per style guide
image_description: |-
Light render (plot-light.png):
Background: Warm off-white (#FAF8F1-like surface), not pure white
Chrome: Title "Monthly Rainfall (mm) · rose-basic · matplotlib · anyplot.ai" in bold dark text — clearly readable. Month labels (Jan–Dec) in bold dark text around the circumference — all readable. Radial tick values (50, 100, 150, 200 mm) in smaller dark text — readable.
Data: Twelve equal-angle wedges in brand green (#009E73 teal-green). Summer months (Jun–Aug) extend furthest from center. White bar edges visible between segments. Polar outer spine visible. Dashed radial gridlines at low alpha.
Legibility verdict: PASS — all text clearly readable against light background; no light-on-light failures
Dark render (plot-dark.png):
Background: Warm near-black (#1A1A17-like surface), not pure black
Chrome: Title in light off-white text — clearly readable. Month labels in light text around circumference — all readable. Radial tick values in light text — readable. No dark-on-dark failures observed anywhere.
Data: Bar colors are identical to light render (same #009E73 brand green) — only chrome elements flipped. Separation between bars appears as dark gaps (background showing through).
Legibility verdict: PASS — all text clearly readable against dark background; data colors identical to light render confirming only chrome adaptation
criteria_checklist:
visual_quality:
score: 25
max: 30
items:
- id: VQ-01
name: Text Legibility
score: 7
max: 8
passed: true
comment: All text readable in both themes; radial tick labels at 14pt below
recommended 16pt
- id: VQ-02
name: No Overlap
score: 6
max: 6
passed: true
comment: 12 month labels cleanly spaced at 30 degree intervals, no collisions
- id: VQ-03
name: Element Visibility
score: 5
max: 6
passed: true
comment: All bars visible; winter months produce small central wedges that
are tight but distinguishable
- id: VQ-04
name: Color Accessibility
score: 2
max: 2
passed: true
comment: Single-series green, no CVD issues
- id: VQ-05
name: Layout & Canvas
score: 2
max: 4
passed: false
comment: 16:9 landscape for circular chart leaves large dead space on sides;
square format would use canvas far more effectively
- id: VQ-06
name: Axis Labels & Title
score: 2
max: 2
passed: true
comment: Title includes Monthly Rainfall (mm) with units; months labeled around
circumference
- id: VQ-07
name: Palette Compliance
score: 1
max: 2
passed: false
comment: 'Images show brand green #009E73 but code uses #306998 (Python blue)
— Okabe-Ito position 1 violation in source; backgrounds correct in both
renders'
design_excellence:
score: 10
max: 20
items:
- id: DE-01
name: Aesthetic Sophistication
score: 4
max: 8
passed: false
comment: Clean single-color approach is intentional but stays at default sophistication;
no typography refinement
- id: DE-02
name: Visual Refinement
score: 3
max: 6
passed: false
comment: Dashed radial grid at low alpha; white bar edges; alpha=0.85 for
depth; no spine removal needed in polar context
- id: DE-03
name: Data Storytelling
score: 3
max: 6
passed: false
comment: Seasonal rainfall peak (July) naturally visible; no additional emphasis
on peak segment to guide viewer
spec_compliance:
score: 15
max: 15
items:
- id: SC-01
name: Plot Type
score: 5
max: 5
passed: true
comment: 'Correct rose chart: equal-angle wedges, radius proportional to value,
polar bar implementation'
- id: SC-02
name: Required Features
score: 4
max: 4
passed: true
comment: Radial gridlines, 12 o'clock start, clockwise ordering, equal-angle
wedges all present
- id: SC-03
name: Data Mapping
score: 3
max: 3
passed: true
comment: Angles = months, radius = rainfall mm; all 12 categories displayed
- id: SC-04
name: Title & Legend
score: 3
max: 3
passed: true
comment: Images show correct title format with anyplot.ai; no legend appropriate
for single series
data_quality:
score: 14
max: 15
items:
- id: DQ-01
name: Feature Coverage
score: 5
max: 6
passed: true
comment: Shows cyclical 12-month pattern and seasonal amplitude; could include
value annotations on largest bar
- id: DQ-02
name: Realistic Context
score: 5
max: 5
passed: true
comment: Monthly rainfall is canonical rose-chart use case; values 72-180mm
plausible for temperate climate
- id: DQ-03
name: Appropriate Scale
score: 4
max: 4
passed: true
comment: 12 categories (optimal range per spec); values spread across useful
range showing clear seasonal variation
code_quality:
score: 9
max: 10
items:
- id: CQ-01
name: KISS Structure
score: 3
max: 3
passed: true
comment: Flat script, no functions or classes
- id: CQ-02
name: Reproducibility
score: 2
max: 2
passed: true
comment: Fully deterministic hardcoded data
- id: CQ-03
name: Clean Imports
score: 2
max: 2
passed: true
comment: Only matplotlib.pyplot and numpy, both used
- id: CQ-04
name: Code Elegance
score: 2
max: 2
passed: true
comment: Clean polar implementation, no fake interactivity
- id: CQ-05
name: Output & API
score: 0
max: 1
passed: false
comment: Saves as plot.png not plot-light.png/plot-dark.png; pipeline expects
theme-named output files
library_mastery:
score: 7
max: 10
items:
- id: LM-01
name: Idiomatic Usage
score: 4
max: 5
passed: true
comment: Correct use of subplot_kw projection polar, axes-level methods, set_theta_zero_location,
set_theta_direction
- id: LM-02
name: Distinctive Features
score: 3
max: 5
passed: false
comment: Polar projection with clockwise theta and North origin are matplotlib-specific;
polar spine customization is a distinctive touch
verdict: APPROVED
impl_tags:
dependencies: []
techniques:
- polar-projection
- manual-ticks
patterns:
- explicit-figure
dataprep: []
styling:
- alpha-blending
- edge-highlighting
- grid-styling