Skip to content

Commit 6b0fccf

Browse files
chore(plotly): update quality score 90 and review feedback for column-stratigraphic
1 parent 7eefb32 commit 6b0fccf

2 files changed

Lines changed: 69 additions & 65 deletions

File tree

plots/column-stratigraphic/implementations/plotly.py

Lines changed: 2 additions & 2 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
33
Library: plotly 6.6.0 | Python 3.14.3
4-
Quality: 86/100 | Created: 2026-03-15
4+
Quality: 90/100 | Created: 2026-03-15
55
"""
66

77
import plotly.graph_objects as go
Lines changed: 67 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
library: plotly
22
specification_id: column-stratigraphic
33
created: '2026-03-15T22:56:23Z'
4-
updated: '2026-03-15T23:00:17Z'
4+
updated: '2026-03-15T23:06:57Z'
55
generated_by: claude-opus-4-5-20251101
66
workflow_run: 23121198678
77
issue: 4573
@@ -10,99 +10,101 @@ library_version: 6.6.0
1010
preview_url: https://storage.googleapis.com/pyplots-images/plots/column-stratigraphic/plotly/plot.png
1111
preview_thumb: https://storage.googleapis.com/pyplots-images/plots/column-stratigraphic/plotly/plot_thumb.png
1212
preview_html: https://storage.googleapis.com/pyplots-images/plots/column-stratigraphic/plotly/plot.html
13-
quality_score: 86
13+
quality_score: 90
1414
review:
1515
strengths:
16-
- Perfect spec compliance with all required features (lithology patterns, formation
17-
names, age labels, depth scale, 5+ lithology types)
18-
- Excellent geologically accurate data using real Western Interior Seaway formations
19-
- Clean well-structured code with appropriate use of Plotly pattern fill capabilities
20-
- Good use of Plotly-specific features (hover templates, HTML export, marker patterns)
16+
- Excellent geological data using real Western Interior Seaway formations with accurate
17+
stratigraphy
18+
- Five distinct lithology patterns with carefully chosen earth-tone colors and blue
19+
accent
20+
- Subtle age-period background shading and dotted boundary lines add professional
21+
polish
22+
- Rich hover tooltips with formation, lithology, depth range, thickness, and age
23+
information
24+
- Clean, well-structured code with no unnecessary complexity
2125
weaknesses:
22-
- Design could be elevated with stronger visual hierarchy at age boundaries
23-
- Color palette uses domain-appropriate but non-standard colors; could incorporate
24-
Python Blue
25-
- Empty space on the right between formation labels and legend
26-
- Annotation font size (13pt) could be slightly larger
26+
- Annotation font sizes (14-15pt) could be slightly larger for optimal readability
27+
at full resolution
28+
- Some vertical space wasted below the last layer to the 200m gridline
2729
image_description: 'The plot displays a vertical stratigraphic column with 10 geological
28-
layers stacked from 0m (top) to ~195m (bottom), with depth increasing downward.
29-
Each layer uses a distinct fill pattern and background color: Sandstone (wheat/tan
30-
with dot pattern), Shale (gray with dash pattern), Limestone (light blue with
31-
plus/cross pattern), Siltstone (tan with diagonal line pattern), and Conglomerate
32-
(brown/orange with x pattern). Formation names (Dakota Fm, Graneros Sh, Greenhorn
33-
Ls, Carlile Sh, Niobrara Fm, Fort Hays Ls, Fox Hills Ss, Lance Fm, Fort Union
34-
Fm, Wasatch Fm) and lithology types are labeled to the right of each layer in
35-
bold/italic. Geological age labels (Late Cretaceous, Maastrichtian, Paleocene,
36-
Eocene) appear on the left side in italic gray text. The y-axis shows "Depth (m)"
37-
with ticks every 20m. A lithology legend with pattern swatches sits in the upper
38-
right corner. The title reads "column-stratigraphic · plotly · pyplots.ai" centered
39-
at the top.'
30+
layers stacked from 0m (top) to ~195m (bottom) depth. Each layer uses a distinct
31+
fill pattern and color: Sandstone (tan/beige with dot pattern), Shale (gray with
32+
dash pattern), Limestone (blue with cross/plus pattern), Siltstone (tan-brown
33+
with diagonal line pattern), and Conglomerate (orange-brown with x pattern). Formation
34+
names (bold) and lithology types (italic) are labeled to the right of each layer.
35+
Age labels (Late Cretaceous, Maastrichtian, Paleocene, Eocene) appear on the left
36+
side in blue text. Subtle background shading differentiates age periods, with
37+
dotted blue horizontal lines marking age boundaries. The y-axis shows "Depth (m)"
38+
with a reversed scale (0 at top, increasing downward). A lithology legend with
39+
pattern swatches sits in the upper right corner. Title reads "column-stratigraphic
40+
· plotly · pyplots.ai" centered at top.'
4041
criteria_checklist:
4142
visual_quality:
42-
score: 27
43+
score: 28
4344
max: 30
4445
items:
4546
- id: VQ-01
4647
name: Text Legibility
4748
score: 7
4849
max: 8
4950
passed: true
50-
comment: All font sizes explicitly set (title 28pt, axis 22pt, ticks 16pt,
51-
annotations 13pt). Annotation font slightly small.
51+
comment: All font sizes explicitly set (title 28pt, axis 22pt, ticks 16pt).
52+
Annotations at 14-15pt slightly small.
5253
- id: VQ-02
5354
name: No Overlap
5455
score: 6
5556
max: 6
5657
passed: true
57-
comment: No overlapping text elements anywhere
58+
comment: No overlapping text anywhere.
5859
- id: VQ-03
5960
name: Element Visibility
6061
score: 6
6162
max: 6
6263
passed: true
63-
comment: All layers clearly visible with distinct patterns and colors
64+
comment: Layer bars clearly visible with distinct patterns and colors.
6465
- id: VQ-04
6566
name: Color Accessibility
66-
score: 3
67+
score: 4
6768
max: 4
6869
passed: true
69-
comment: Colors sufficiently distinct but not formally colorblind-safe palette
70+
comment: Earth-tone palette with blue accent is colorblind-safe.
7071
- id: VQ-05
7172
name: Layout & Canvas
7273
score: 3
7374
max: 4
7475
passed: true
75-
comment: Good layout but noticeable empty space on right side
76+
comment: Good layout but some wasted vertical space below last layer.
7677
- id: VQ-06
7778
name: Axis Labels & Title
7879
score: 2
7980
max: 2
8081
passed: true
81-
comment: Depth (m) includes units
82+
comment: Y-axis labeled Depth (m) with units. X-axis appropriately hidden.
8283
design_excellence:
83-
score: 12
84+
score: 14
8485
max: 20
8586
items:
8687
- id: DE-01
8788
name: Aesthetic Sophistication
88-
score: 5
89+
score: 6
8990
max: 8
9091
passed: true
91-
comment: Geology-appropriate colors with pattern fills, above defaults but
92-
not publication-level
92+
comment: Custom earth-tone palette with Python Blue accent. Intentional typography
93+
and subtle age shading.
9394
- id: DE-02
9495
name: Visual Refinement
9596
score: 4
9697
max: 6
9798
passed: true
98-
comment: Clean white background, subtle grid, x-axis hidden, good margins
99+
comment: White background, subtle grid, hidden x-axis, clean legend with subtle
100+
border.
99101
- id: DE-03
100102
name: Data Storytelling
101-
score: 3
103+
score: 4
102104
max: 6
103105
passed: true
104-
comment: Age grouping provides narrative but could benefit from stronger visual
105-
hierarchy at boundaries
106+
comment: Background shading groups formations by period. Dotted boundary lines
107+
highlight transitions.
106108
spec_compliance:
107109
score: 15
108110
max: 15
@@ -112,27 +114,27 @@ review:
112114
score: 5
113115
max: 5
114116
passed: true
115-
comment: Correct vertical stratigraphic column with stacked rectangular blocks
117+
comment: Correct stratigraphic column with stacked blocks and lithology patterns.
116118
- id: SC-02
117119
name: Required Features
118120
score: 4
119121
max: 4
120122
passed: true
121-
comment: 'All features present: lithology patterns, formation names, age labels,
122-
depth scale, 5+ lithologies'
123+
comment: 'All features present: 5 lithology patterns, reversed depth, formation
124+
labels, age labels, depth scale.'
123125
- id: SC-03
124126
name: Data Mapping
125127
score: 3
126128
max: 3
127129
passed: true
128-
comment: Depth axis correctly oriented, layers properly positioned
130+
comment: Y-axis correctly represents depth with reversed scale.
129131
- id: SC-04
130132
name: Title & Legend
131133
score: 3
132134
max: 3
133135
passed: true
134-
comment: Title format correct, legend shows all lithology types with pattern
135-
swatches
136+
comment: Correct title format. Legend shows all 5 lithology types with pattern
137+
swatches.
136138
data_quality:
137139
score: 15
138140
max: 15
@@ -142,20 +144,21 @@ review:
142144
score: 6
143145
max: 6
144146
passed: true
145-
comment: 10 layers, 5 lithology types, varying thicknesses, multiple geological
146-
ages
147+
comment: 10 layers, 5 lithology types, varying thicknesses, 4 geological periods.
147148
- id: DQ-02
148149
name: Realistic Context
149150
score: 5
150151
max: 5
151152
passed: true
152-
comment: Real Western Interior Seaway formations, geologically accurate sequence
153+
comment: Real Western Interior Seaway formations. Geologically accurate and
154+
neutral.
153155
- id: DQ-03
154156
name: Appropriate Scale
155157
score: 4
156158
max: 4
157159
passed: true
158-
comment: Depths 0-195m realistic, layer thicknesses vary appropriately
160+
comment: Depths 0-195m with realistic thicknesses. Age progression geologically
161+
plausible.
159162
code_quality:
160163
score: 10
161164
max: 10
@@ -165,49 +168,50 @@ review:
165168
score: 3
166169
max: 3
167170
passed: true
168-
comment: 'Clean linear structure: data, plot, style, save'
171+
comment: Clean imports-data-plot-save structure. No functions or classes.
169172
- id: CQ-02
170173
name: Reproducibility
171174
score: 2
172175
max: 2
173176
passed: true
174-
comment: Fully deterministic hardcoded data
177+
comment: Fully deterministic with hardcoded data.
175178
- id: CQ-03
176179
name: Clean Imports
177180
score: 2
178181
max: 2
179182
passed: true
180-
comment: Only imports plotly.graph_objects
183+
comment: Only plotly.graph_objects imported and used.
181184
- id: CQ-04
182185
name: Code Elegance
183186
score: 2
184187
max: 2
185188
passed: true
186-
comment: Clean, well-organized, age grouping logic appropriate
189+
comment: Clean, well-organized code with appropriate complexity.
187190
- id: CQ-05
188191
name: Output & API
189192
score: 1
190193
max: 1
191194
passed: true
192-
comment: Saves as plot.png with correct dimensions, also exports HTML
195+
comment: Saves as plot.png with correct dimensions and HTML export.
193196
library_mastery:
194-
score: 7
197+
score: 8
195198
max: 10
196199
items:
197200
- id: LM-01
198201
name: Idiomatic Usage
199202
score: 4
200203
max: 5
201204
passed: true
202-
comment: Good use of go.Bar with base, marker.pattern, add_annotation, overlay
203-
barmode
205+
comment: Good use of go.Bar with base, add_shape, add_annotation. Could leverage
206+
subplots for multi-column layout.
204207
- id: LM-02
205208
name: Distinctive Features
206-
score: 3
209+
score: 4
207210
max: 5
208211
passed: true
209-
comment: Leverages pattern fill, hover templates, HTML export
210-
verdict: REJECTED
212+
comment: Marker patterns, hover templates with HTML, and HTML export are distinctive
213+
Plotly features.
214+
verdict: APPROVED
211215
impl_tags:
212216
dependencies: []
213217
techniques:
@@ -219,5 +223,5 @@ impl_tags:
219223
- iteration-over-groups
220224
dataprep: []
221225
styling:
222-
- grid-styling
223226
- edge-highlighting
227+
- grid-styling

0 commit comments

Comments
 (0)