Skip to content

Commit 674b459

Browse files
chore(altair): update quality score 79 and review feedback for column-stratigraphic
1 parent c2b4a6f commit 674b459

2 files changed

Lines changed: 220 additions & 10 deletions

File tree

plots/column-stratigraphic/implementations/altair.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
"""pyplots.ai
1+
""" pyplots.ai
22
column-stratigraphic: Stratigraphic Column with Lithology Patterns
3-
Library: altair | Python 3.13
4-
Quality: pending | Created: 2026-03-15
3+
Library: altair 6.0.0 | Python 3.14.3
4+
Quality: 79/100 | Created: 2026-03-15
55
"""
66

77
import altair as alt
Lines changed: 217 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
# Per-library metadata for altair implementation of column-stratigraphic
2-
# Auto-generated by impl-generate.yml
3-
41
library: altair
52
specification_id: column-stratigraphic
63
created: '2026-03-15T22:59:28Z'
7-
updated: '2026-03-15T22:59:28Z'
4+
updated: '2026-03-15T23:04:23Z'
85
generated_by: claude-opus-4-5-20251101
96
workflow_run: 23121198787
107
issue: 4573
@@ -13,7 +10,220 @@ library_version: 6.0.0
1310
preview_url: https://storage.googleapis.com/pyplots-images/plots/column-stratigraphic/altair/plot.png
1411
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/column-stratigraphic/altair/plot_thumb.png
1512
preview_html: https://storage.googleapis.com/pyplots-images/plots/column-stratigraphic/altair/plot.html
16-
quality_score: null
13+
quality_score: 79
1714
review:
18-
strengths: []
19-
weaknesses: []
15+
strengths:
16+
- Excellent realistic geological data using real Grand Canyon formations and correct
17+
ages
18+
- Clean code structure with good use of Altair declarative layered composition
19+
- Custom geologically-conventional color palette with intentional typography hierarchy
20+
- Tooltips with formation, lithology, age, and thickness information
21+
- Age boundary dashed lines add professional geological context
22+
weaknesses:
23+
- Depth axis is inverted - spec requires depth increasing downward but plot shows
24+
upward
25+
- Title format includes extra Stratigraphic Column prefix beyond required format
26+
- Siltstone and Limestone colors are both blue tones and hard to distinguish
27+
- Pattern symbols are faint at 0.6 opacity and do not effectively convey lithology
28+
image_description: 'The plot shows a vertical stratigraphic column with 10 geological
29+
layers stacked from 0m (bottom) to 200m (top). Each layer is a colored rectangle
30+
representing a lithology type: Sandstone (golden yellow), Shale (gray), Limestone
31+
(blue), Siltstone (light blue), and Conglomerate (orange). Formation names (Cedar
32+
Mesa Fm, Organ Rock Fm, White Rim Fm, De Chelly Fm, Coconino Fm, Hermit Fm, Supai
33+
Group, Redwall Fm, Temple Butte Fm, Muav Fm) are labeled in bold to the right
34+
of each layer. Geological age labels (Permian, Pennsylvanian, Mississippian, Devonian,
35+
Cambrian) appear in italics on the left side. Dashed horizontal lines mark age
36+
boundaries between geological periods. Text-based pattern symbols (dots, dashes,
37+
squares, circles) are rendered inside each layer at reduced opacity. A horizontal
38+
legend at the bottom shows all 5 lithology types with colored swatches. The title
39+
reads "Stratigraphic Column · column-stratigraphic · altair · pyplots.ai" at the
40+
top. The y-axis is labeled "Depth (m)" with tick marks every 10m. Depth increases
41+
upward (0 at bottom, 200 at top), which is contrary to the spec requirement.'
42+
criteria_checklist:
43+
visual_quality:
44+
score: 26
45+
max: 30
46+
items:
47+
- id: VQ-01
48+
name: Text Legibility
49+
score: 7
50+
max: 8
51+
passed: true
52+
comment: Font sizes explicitly set throughout (title 26pt, axis 22/18pt, labels
53+
15-16pt, legend 18-20pt). All readable.
54+
- id: VQ-02
55+
name: No Overlap
56+
score: 6
57+
max: 6
58+
passed: true
59+
comment: No overlapping text or elements anywhere.
60+
- id: VQ-03
61+
name: Element Visibility
62+
score: 5
63+
max: 6
64+
passed: true
65+
comment: Layer rectangles clearly visible. Pattern symbols faint at opacity
66+
0.6.
67+
- id: VQ-04
68+
name: Color Accessibility
69+
score: 3
70+
max: 4
71+
passed: true
72+
comment: Siltstone and Limestone both blue tones, could be confused by colorblind
73+
viewers.
74+
- id: VQ-05
75+
name: Layout & Canvas
76+
score: 3
77+
max: 4
78+
passed: true
79+
comment: Column well-centered with labels on sides. Some unused horizontal
80+
space.
81+
- id: VQ-06
82+
name: Axis Labels & Title
83+
score: 2
84+
max: 2
85+
passed: true
86+
comment: Y-axis labeled Depth (m) with units. X-axis hidden appropriately.
87+
design_excellence:
88+
score: 12
89+
max: 20
90+
items:
91+
- id: DE-01
92+
name: Aesthetic Sophistication
93+
score: 5
94+
max: 8
95+
passed: true
96+
comment: Custom geological color palette, intentional typography hierarchy.
97+
Above defaults but not publication-level.
98+
- id: DE-02
99+
name: Visual Refinement
100+
score: 4
101+
max: 6
102+
passed: true
103+
comment: View borders removed, no grid, dashed age boundaries add structure.
104+
- id: DE-03
105+
name: Data Storytelling
106+
score: 3
107+
max: 6
108+
passed: true
109+
comment: Geological time progression creates natural narrative. No clear focal
110+
point or emphasis.
111+
spec_compliance:
112+
score: 10
113+
max: 15
114+
items:
115+
- id: SC-01
116+
name: Plot Type
117+
score: 5
118+
max: 5
119+
passed: true
120+
comment: 'Correct: vertical stratigraphic column with stacked rectangular
121+
blocks.'
122+
- id: SC-02
123+
name: Required Features
124+
score: 2
125+
max: 4
126+
passed: false
127+
comment: Depth axis direction wrong. Spec requires increasing downward but
128+
shows increasing upward.
129+
- id: SC-03
130+
name: Data Mapping
131+
score: 1
132+
max: 3
133+
passed: false
134+
comment: Y-axis inverted from spec requirement. Depth should increase downward.
135+
- id: SC-04
136+
name: Title & Legend
137+
score: 2
138+
max: 3
139+
passed: true
140+
comment: Title has extra prefix. Legend labels correct.
141+
data_quality:
142+
score: 14
143+
max: 15
144+
items:
145+
- id: DQ-01
146+
name: Feature Coverage
147+
score: 5
148+
max: 6
149+
passed: true
150+
comment: 10 layers, 5 lithologies, varying thicknesses, multiple geological
151+
ages.
152+
- id: DQ-02
153+
name: Realistic Context
154+
score: 5
155+
max: 5
156+
passed: true
157+
comment: Real Grand Canyon formations with correct geological ages.
158+
- id: DQ-03
159+
name: Appropriate Scale
160+
score: 4
161+
max: 4
162+
passed: true
163+
comment: Realistic thicknesses and total depth of 200m.
164+
code_quality:
165+
score: 10
166+
max: 10
167+
items:
168+
- id: CQ-01
169+
name: KISS Structure
170+
score: 3
171+
max: 3
172+
passed: true
173+
comment: 'Linear flow: imports, data, plot components, combine, save.'
174+
- id: CQ-02
175+
name: Reproducibility
176+
score: 2
177+
max: 2
178+
passed: true
179+
comment: Fully deterministic data, no random elements.
180+
- id: CQ-03
181+
name: Clean Imports
182+
score: 2
183+
max: 2
184+
passed: true
185+
comment: Only altair and pandas imported, both used.
186+
- id: CQ-04
187+
name: Code Elegance
188+
score: 2
189+
max: 2
190+
passed: true
191+
comment: Clean, well-structured code with good DataFrame usage.
192+
- id: CQ-05
193+
name: Output & API
194+
score: 1
195+
max: 1
196+
passed: true
197+
comment: Saves as plot.png and plot.html. Current API.
198+
library_mastery:
199+
score: 7
200+
max: 10
201+
items:
202+
- id: LM-01
203+
name: Idiomatic Usage
204+
score: 4
205+
max: 5
206+
passed: true
207+
comment: 'Good declarative grammar: mark_rect, mark_text, mark_rule, transform_calculate,
208+
layered composition.'
209+
- id: LM-02
210+
name: Distinctive Features
211+
score: 3
212+
max: 5
213+
passed: true
214+
comment: Uses transform_calculate, tooltip encoding, HTML export, layered
215+
composition operator.
216+
verdict: REJECTED
217+
impl_tags:
218+
dependencies: []
219+
techniques:
220+
- annotations
221+
- layer-composition
222+
- hover-tooltips
223+
- html-export
224+
patterns:
225+
- data-generation
226+
- iteration-over-groups
227+
dataprep: []
228+
styling:
229+
- edge-highlighting

0 commit comments

Comments
 (0)