Skip to content

Commit bc83a9b

Browse files
chore(plotly): update quality score 92 and review feedback for heatmap-basic
1 parent fc609bd commit bc83a9b

2 files changed

Lines changed: 71 additions & 74 deletions

File tree

plots/heatmap-basic/implementations/plotly.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
"""pyplots.ai
1+
""" pyplots.ai
22
heatmap-basic: Basic Heatmap
33
Library: plotly 6.5.2 | Python 3.14.3
4+
Quality: 92/100 | Updated: 2026-02-15
45
"""
56

67
import numpy as np
Lines changed: 69 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
library: plotly
22
specification_id: heatmap-basic
33
created: '2025-12-23T00:46:03Z'
4-
updated: '2026-02-15T21:38:10Z'
4+
updated: '2026-02-15T21:46:06Z'
55
generated_by: claude-opus-4-6
66
workflow_run: 20447950554
77
issue: 0
@@ -10,7 +10,7 @@ library_version: 6.5.2
1010
preview_url: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/plotly/plot.png
1111
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/plotly/plot_thumb.png
1212
preview_html: https://storage.googleapis.com/pyplots-images/plots/heatmap-basic/plotly/plot.html
13-
quality_score: 89
13+
quality_score: 92
1414
impl_tags:
1515
dependencies: []
1616
techniques:
@@ -27,39 +27,37 @@ impl_tags:
2727
- edge-highlighting
2828
review:
2929
strengths:
30-
- Excellent text legibility with all font sizes explicitly configured for target
31-
resolution
32-
- Effective diverging RdBu colorscale centered at zero with zmid — immediately reveals
33-
positive vs. negative growth
34-
- 'Thoughtful data storytelling: subtitle guides reader to seasonal patterns, data
35-
engineered with realistic seasonal effects (summer outdoor peaks, Q4 holiday spikes,
36-
spring fashion, back-to-school)'
37-
- 'Rich Plotly-specific features: hovertemplate with HTML formatting, HTML subtitle,
38-
interactive HTML alongside static PNG'
39-
- Clean KISS code structure with elegant seasonal pattern generation loop
30+
- Excellent data storytelling with realistic seasonal retail patterns that make
31+
the heatmap informative and engaging
32+
- Publication-quality typography using serif fonts (Palatino/Georgia) with carefully
33+
set font sizes at every level
34+
- Diverging RdBu colorscale centered at zero with signed numeric annotations in
35+
every cell — clear and informative
36+
- Clean code structure with appropriate data generation complexity for realistic
37+
seasonal patterns
38+
- Plotly-idiomatic usage of hovertemplate, texttemplate, and HTML export alongside
39+
static PNG
4040
weaknesses:
41-
- 'Canvas utilization could be tighter — left margin (160px) and colorbar placement
42-
leave the heatmap area somewhat constrained with moderate whitespace (VQ-05: 2/4)'
43-
- 'Aesthetic polish is strong but falls short of publication-ready — could benefit
44-
from a custom font family or more typographic refinement (DE-01: 6/8)'
45-
- Cell annotations using texttemplate format +.0f rounds to integers, losing the
46-
decimal precision available in the data
47-
image_description: 'The plot displays a heatmap of monthly sales growth percentages
48-
for 8 retail product categories (Electronics, Clothing, Food & Beverage, Books,
49-
Sports, Home & Garden, Beauty, Toys) across all 12 months (Jan–Dec). A diverging
50-
RdBu colorscale is used, centered at zero — blue tones for negative growth, red/warm
51-
tones for positive growth. Each cell contains an annotated value with sign (e.g.,
52-
+14.3, -15.3). The title reads "Monthly Sales Growth · heatmap-basic · plotly
53-
· pyplots.ai" with a gray subtitle: "Retail categories show clear seasonal surges
54-
— summer outdoor/leisure peaks and Q4 holiday gift spikes." A colorbar on the
55-
right shows "Sales Growth (%)" ranging from roughly -20% to +20%. Clear seasonal
56-
patterns are visible: Sports, Home & Garden, and Toys show summer peaks (Jun–Aug
57-
in dark red), while Electronics, Toys, Books, and Beauty show holiday spikes (Nov–Dec
58-
in deep red/maroon). Clothing shows spring (Apr) and back-to-school (Sep) bumps.
59-
The background is clean white with subtle gaps between cells.'
41+
- Right margin slightly tight — colorbar Sales Growth title is close to the canvas
42+
edge; increasing right margin or adjusting colorbar position would improve balance
43+
- Could leverage more distinctive Plotly features (e.g., custom hoverinfo with category-specific
44+
details, or zmin/zmax for symmetric range)
45+
image_description: 'The plot displays an 8×12 heatmap of monthly sales growth percentages
46+
across retail product categories (Electronics, Clothing, Food & Beverage, Books,
47+
Sports, Home & Garden, Beauty, Toys) over 12 months (Jan–Dec). A diverging RdBu
48+
colorscale is used, centered at zero: deep red cells indicate strong positive
49+
growth (up to ~30%), deep blue cells indicate strong negative growth (down to
50+
~-21%), and near-white cells are close to zero. Every cell contains a signed numeric
51+
annotation (e.g., "+20.2", "-15.3"). The title reads "Monthly Sales Growth · heatmap-basic
52+
· plotly · pyplots.ai" with a gray subtitle describing seasonal patterns. Axes
53+
are labeled "Month" (x) and "Product Category" (y). A vertical colorbar on the
54+
right shows "Sales Growth (%)" with percentage tick marks. Cells are separated
55+
by small gaps. The background is a light off-white (#fafafa), and the typography
56+
uses a serif font (Palatino/Georgia). The layout is landscape format at 1600×900
57+
(scaled 3×).'
6058
criteria_checklist:
6159
visual_quality:
62-
score: 27
60+
score: 28
6361
max: 30
6462
items:
6563
- id: VQ-01
@@ -68,64 +66,63 @@ review:
6866
max: 8
6967
passed: true
7068
comment: 'All font sizes explicitly set: title 28pt, axis titles 22pt, ticks
71-
18pt, cell text 16pt, colorbar title 20pt'
69+
18pt, annotations 15pt, colorbar title 20pt, colorbar ticks 16pt'
7270
- id: VQ-02
7371
name: No Overlap
7472
score: 6
7573
max: 6
7674
passed: true
77-
comment: No overlapping elements; annotations fit within cells
75+
comment: No overlapping text; cell gaps separate annotations cleanly
7876
- id: VQ-03
7977
name: Element Visibility
80-
score: 5
78+
score: 6
8179
max: 6
8280
passed: true
83-
comment: Cells well-sized for 8x12 matrix with 2px gaps
81+
comment: Heatmap cells well-sized for 8x12 matrix, all clearly visible
8482
- id: VQ-04
8583
name: Color Accessibility
8684
score: 4
8785
max: 4
8886
passed: true
89-
comment: RdBu diverging colorscale is colorblind-safe
87+
comment: RdBu diverging colormap is colorblind-distinguishable
9088
- id: VQ-05
9189
name: Layout Balance
9290
score: 2
9391
max: 4
9492
passed: false
95-
comment: Left margin 160px and colorbar leave heatmap area somewhat constrained;
96-
moderate unused whitespace
93+
comment: Heatmap fills canvas well but colorbar label slightly tight against
94+
right edge
9795
- id: VQ-06
9896
name: Axis Labels & Title
9997
score: 2
10098
max: 2
10199
passed: true
102-
comment: 'Descriptive labels with units: Month, Product Category, Sales Growth
103-
(%)'
100+
comment: Descriptive labels with units on colorbar
104101
design_excellence:
105-
score: 14
102+
score: 16
106103
max: 20
107104
items:
108105
- id: DE-01
109106
name: Aesthetic Sophistication
110-
score: 6
107+
score: 7
111108
max: 8
112109
passed: true
113-
comment: Strong design with RdBu diverging scale, plotly_white template, gray
114-
subtitle, styled colorbar
110+
comment: Publication-quality serif typography, intentional diverging colormap,
111+
cell gaps, muted background, styled colorbar
115112
- id: DE-02
116113
name: Visual Refinement
117-
score: 4
114+
score: 5
118115
max: 6
119116
passed: true
120-
comment: Good refinement with clean template, cell gaps, custom margins, centered
121-
title with subtitle
117+
comment: plotly_white template, cell gaps, styled subtitle with hierarchy,
118+
generous whitespace
122119
- id: DE-03
123120
name: Data Storytelling
124121
score: 4
125122
max: 6
126123
passed: true
127-
comment: Subtitle guides reader to seasonal story; data engineered with realistic
128-
patterns; color divergence creates visual hierarchy
124+
comment: Seasonal patterns visually evident; subtitle states insight; color
125+
intensity guides viewer
129126
spec_compliance:
130127
score: 15
131128
max: 15
@@ -135,49 +132,49 @@ review:
135132
score: 5
136133
max: 5
137134
passed: true
138-
comment: Correct basic heatmap with color intensity
135+
comment: Correct heatmap with matrix format and color intensity mapping
139136
- id: SC-02
140137
name: Required Features
141138
score: 4
142139
max: 4
143140
passed: true
144-
comment: 'All spec features: diverging colormap, cell annotations, colorbar,
145-
logically ordered rows/columns'
141+
comment: Diverging colormap, value annotations, colorbar legend, logically
142+
ordered categories
146143
- id: SC-03
147144
name: Data Mapping
148145
score: 3
149146
max: 3
150147
passed: true
151-
comment: X=months, Y=categories, Z=values correctly mapped
148+
comment: X=months, Y=categories, values mapped to color correctly
152149
- id: SC-04
153-
name: Title Format
150+
name: Title & Legend
154151
score: 3
155152
max: 3
156153
passed: true
157-
comment: 'Correct format: Monthly Sales Growth · heatmap-basic · plotly ·
158-
pyplots.ai'
154+
comment: Title format correct; colorbar serves as legend
159155
data_quality:
160-
score: 14
156+
score: 15
161157
max: 15
162158
items:
163159
- id: DQ-01
164160
name: Feature Coverage
165-
score: 5
161+
score: 6
166162
max: 6
167163
passed: true
168-
comment: Shows positive and negative values, range of magnitudes, clear patterns
164+
comment: Full range of positive and negative values, clear seasonal patterns,
165+
varying magnitudes
169166
- id: DQ-02
170167
name: Realistic Context
171168
score: 5
172169
max: 5
173170
passed: true
174-
comment: Realistic retail scenario with plausible seasonal patterns
171+
comment: Retail sales growth with plausible seasonal patterns
175172
- id: DQ-03
176173
name: Appropriate Scale
177174
score: 4
178175
max: 4
179176
passed: true
180-
comment: Values range -21% to +30%, realistic for monthly sales growth
177+
comment: Growth percentages -21% to +30% realistic for retail
181178
code_quality:
182179
score: 10
183180
max: 10
@@ -187,13 +184,13 @@ review:
187184
score: 3
188185
max: 3
189186
passed: true
190-
comment: Clean imports → data → plot → layout → save
187+
comment: Clean Imports, Data, Plot, Save structure
191188
- id: CQ-02
192189
name: Reproducibility
193190
score: 2
194191
max: 2
195192
passed: true
196-
comment: np.random.seed(42)
193+
comment: np.random.seed(42) set
197194
- id: CQ-03
198195
name: Clean Imports
199196
score: 2
@@ -205,29 +202,28 @@ review:
205202
score: 2
206203
max: 2
207204
passed: true
208-
comment: Clean, Pythonic seasonal pattern generation
205+
comment: Clean Pythonic code with appropriate complexity
209206
- id: CQ-05
210207
name: Output & API
211208
score: 1
212209
max: 1
213210
passed: true
214-
comment: Saves plot.png at 4800x2700 via scale=3
211+
comment: Saves plot.png with correct dimensions and scale=3
215212
library_mastery:
216-
score: 9
213+
score: 8
217214
max: 10
218215
items:
219216
- id: LM-01
220217
name: Idiomatic Usage
221218
score: 5
222219
max: 5
223220
passed: true
224-
comment: Expert go.Heatmap usage with zmid, texttemplate, hovertemplate, colorbar
225-
dict
221+
comment: Expert use of go.Heatmap with colorscale, zmid, texttemplate, hovertemplate
226222
- id: LM-02
227223
name: Distinctive Features
228-
score: 4
224+
score: 3
229225
max: 5
230226
passed: true
231-
comment: 'Plotly-specific: hovertemplate with HTML, HTML subtitle, interactive
232-
HTML export, zmid for diverging center'
233-
verdict: REJECTED
227+
comment: Uses hovertemplate, HTML export, texttemplate formatting; standard
228+
Plotly patterns
229+
verdict: APPROVED

0 commit comments

Comments
 (0)