|
| 1 | +# Per-library metadata for highcharts implementation of span-basic |
| 2 | +# Auto-generated by impl-generate.yml |
| 3 | + |
1 | 4 | library: highcharts |
| 5 | +language: python |
2 | 6 | specification_id: span-basic |
3 | 7 | created: '2025-12-23T20:45:37Z' |
4 | | -updated: '2025-12-23T20:53:50Z' |
5 | | -generated_by: claude-opus-4-5-20251101 |
6 | | -workflow_run: 20471153941 |
7 | | -issue: 0 |
8 | | -python_version: 3.13.11 |
| 8 | +updated: '2026-04-30T10:55:18Z' |
| 9 | +generated_by: claude-sonnet |
| 10 | +workflow_run: 25161284754 |
| 11 | +issue: 980 |
| 12 | +python_version: 3.13.13 |
9 | 13 | library_version: unknown |
10 | | -preview_url: https://storage.googleapis.com/anyplot-images/plots/span-basic/highcharts/plot.png |
11 | | -preview_html: https://storage.googleapis.com/anyplot-images/plots/span-basic/highcharts/plot.html |
12 | | -quality_score: 93 |
13 | | -impl_tags: |
14 | | - dependencies: |
15 | | - - selenium |
16 | | - techniques: |
17 | | - - html-export |
18 | | - - layer-composition |
19 | | - patterns: |
20 | | - - data-generation |
21 | | - dataprep: [] |
22 | | - styling: |
23 | | - - alpha-blending |
| 14 | +preview_url_light: https://storage.googleapis.com/anyplot-images/plots/span-basic/python/highcharts/plot-light.png |
| 15 | +preview_url_dark: https://storage.googleapis.com/anyplot-images/plots/span-basic/python/highcharts/plot-dark.png |
| 16 | +preview_html_light: https://storage.googleapis.com/anyplot-images/plots/span-basic/python/highcharts/plot-light.html |
| 17 | +preview_html_dark: https://storage.googleapis.com/anyplot-images/plots/span-basic/python/highcharts/plot-dark.html |
| 18 | +quality_score: null |
24 | 19 | review: |
25 | | - strengths: |
26 | | - - Excellent demonstration of BOTH vertical and horizontal spans in a single plot |
27 | | - - Real-world scenario (2008-2009 recession) makes the visualization immediately |
28 | | - understandable |
29 | | - - Perfect use of Highcharts plotBands feature with labeled regions |
30 | | - - Semi-transparent fills (0.25 alpha) allow data to remain visible as spec requires |
31 | | - - Clean intersection where spans overlap shows thoughtful data design |
32 | | - - Appropriate text sizing for 4800x2700 output resolution |
33 | | - weaknesses: |
34 | | - - X-axis title "Date" is configured but not visible in the output (Highcharts behavior |
35 | | - with categories) |
36 | | - - Stock price values are somewhat generic; could reference a specific index for |
37 | | - more realism |
38 | | - image_description: 'The plot displays a line chart showing stock price data over |
39 | | - time from January 2007 to October 2010. The title "span-basic · highcharts · pyplots.ai" |
40 | | - appears at the top in bold black text, with a subtitle "Stock Price with Recession |
41 | | - Period Highlighted" below it. The y-axis is labeled "Stock Price ($)" ranging |
42 | | - from 50 to 180. The x-axis shows quarterly dates from Jan 2007 to Oct 2010. A |
43 | | - blue line with circular markers traces the stock price movement. |
44 | | -
|
45 | | -
|
46 | | - Two span regions are clearly visible: |
47 | | -
|
48 | | - 1. A **vertical span** (light blue, ~25% opacity) highlighting the "Recession |
49 | | - Period" from Jan 2008 to Jan 2009, with a label at the top |
50 | | -
|
51 | | - 2. A **horizontal span** (light yellow, ~25% opacity) highlighting the "Below |
52 | | - Target Price" zone from $50 to $100, with a label on the left side |
53 | | -
|
54 | | -
|
55 | | - The data shows the stock price declining from ~$155 peak in mid-2007 down to ~$78 |
56 | | - during the recession (Apr 2009), then recovering to ~$135 by Oct 2010. The overlapping |
57 | | - spans create a visual intersection where both highlighted regions meet.' |
58 | | - criteria_checklist: |
59 | | - visual_quality: |
60 | | - score: 37 |
61 | | - max: 40 |
62 | | - items: |
63 | | - - id: VQ-01 |
64 | | - name: Text Legibility |
65 | | - score: 10 |
66 | | - max: 10 |
67 | | - passed: true |
68 | | - comment: Title at 72px, labels at 48px, tick labels at 36px - all perfectly |
69 | | - readable |
70 | | - - id: VQ-02 |
71 | | - name: No Overlap |
72 | | - score: 8 |
73 | | - max: 8 |
74 | | - passed: true |
75 | | - comment: No overlapping text elements, x-axis labels spaced well |
76 | | - - id: VQ-03 |
77 | | - name: Element Visibility |
78 | | - score: 8 |
79 | | - max: 8 |
80 | | - passed: true |
81 | | - comment: Line width 6, markers radius 12 - excellent visibility for 16 data |
82 | | - points |
83 | | - - id: VQ-04 |
84 | | - name: Color Accessibility |
85 | | - score: 5 |
86 | | - max: 5 |
87 | | - passed: true |
88 | | - comment: Blue line (#306998), blue span, yellow span - colorblind-safe, no |
89 | | - red-green conflicts |
90 | | - - id: VQ-05 |
91 | | - name: Layout Balance |
92 | | - score: 5 |
93 | | - max: 5 |
94 | | - passed: true |
95 | | - comment: Good use of canvas space, plot fills majority of area, balanced margins |
96 | | - - id: VQ-06 |
97 | | - name: Axis Labels |
98 | | - score: 1 |
99 | | - max: 2 |
100 | | - passed: false |
101 | | - comment: Y-axis has unit "($)", but X-axis label is just "Date" (configured |
102 | | - in code but not visible in output - appears Highcharts auto-hides it when |
103 | | - categories are used) |
104 | | - - id: VQ-07 |
105 | | - name: Grid & Legend |
106 | | - score: 2 |
107 | | - max: 2 |
108 | | - passed: true |
109 | | - comment: Subtle grid lines, legend positioned appropriately |
110 | | - spec_compliance: |
111 | | - score: 25 |
112 | | - max: 25 |
113 | | - items: |
114 | | - - id: SC-01 |
115 | | - name: Plot Type |
116 | | - score: 8 |
117 | | - max: 8 |
118 | | - passed: true |
119 | | - comment: Correct span/plot band implementation using Highcharts plotBands |
120 | | - - id: SC-02 |
121 | | - name: Data Mapping |
122 | | - score: 5 |
123 | | - max: 5 |
124 | | - passed: true |
125 | | - comment: X-axis shows dates (categories), Y-axis shows stock prices |
126 | | - - id: SC-03 |
127 | | - name: Required Features |
128 | | - score: 5 |
129 | | - max: 5 |
130 | | - passed: true |
131 | | - comment: Both vertical AND horizontal spans demonstrated with labels |
132 | | - - id: SC-04 |
133 | | - name: Data Range |
134 | | - score: 3 |
135 | | - max: 3 |
136 | | - passed: true |
137 | | - comment: Y-axis 50-180 shows all data points appropriately |
138 | | - - id: SC-05 |
139 | | - name: Legend Accuracy |
140 | | - score: 2 |
141 | | - max: 2 |
142 | | - passed: true |
143 | | - comment: '"Stock Price" legend label is accurate' |
144 | | - - id: SC-06 |
145 | | - name: Title Format |
146 | | - score: 2 |
147 | | - max: 2 |
148 | | - passed: true |
149 | | - comment: Correctly uses "span-basic · highcharts · pyplots.ai" |
150 | | - data_quality: |
151 | | - score: 18 |
152 | | - max: 20 |
153 | | - items: |
154 | | - - id: DQ-01 |
155 | | - name: Feature Coverage |
156 | | - score: 8 |
157 | | - max: 8 |
158 | | - passed: true |
159 | | - comment: Excellent! Shows BOTH vertical span (time period) AND horizontal |
160 | | - span (threshold zone), matching all spec applications |
161 | | - - id: DQ-02 |
162 | | - name: Realistic Context |
163 | | - score: 7 |
164 | | - max: 7 |
165 | | - passed: true |
166 | | - comment: 2008-2009 recession is a real historical event, stock price behavior |
167 | | - is realistic |
168 | | - - id: DQ-03 |
169 | | - name: Appropriate Scale |
170 | | - score: 3 |
171 | | - max: 5 |
172 | | - passed: false |
173 | | - comment: Values are reasonable but somewhat generic ($78-$158 range); could |
174 | | - be more specific to a real index |
175 | | - code_quality: |
176 | | - score: 8 |
177 | | - max: 10 |
178 | | - items: |
179 | | - - id: CQ-01 |
180 | | - name: KISS Structure |
181 | | - score: 3 |
182 | | - max: 3 |
183 | | - passed: true |
184 | | - comment: Imports → Data → Chart config → Save - clean linear structure |
185 | | - - id: CQ-02 |
186 | | - name: Reproducibility |
187 | | - score: 1 |
188 | | - max: 3 |
189 | | - passed: false |
190 | | - comment: Data is hardcoded (deterministic) but no explicit seed comment; acceptable |
191 | | - but could be clearer |
192 | | - - id: CQ-03 |
193 | | - name: Clean Imports |
194 | | - score: 2 |
195 | | - max: 2 |
196 | | - passed: true |
197 | | - comment: All imports are used (Path, tempfile, time, urllib, selenium, highcharts) |
198 | | - - id: CQ-04 |
199 | | - name: No Deprecated API |
200 | | - score: 1 |
201 | | - max: 1 |
202 | | - passed: true |
203 | | - comment: Uses current highcharts-core API |
204 | | - - id: CQ-05 |
205 | | - name: Output Correct |
206 | | - score: 1 |
207 | | - max: 1 |
208 | | - passed: true |
209 | | - comment: Saves as "plot.png" and "plot.html" |
210 | | - library_features: |
211 | | - score: 5 |
212 | | - max: 5 |
213 | | - items: |
214 | | - - id: LF-01 |
215 | | - name: Distinctive Features |
216 | | - score: 5 |
217 | | - max: 5 |
218 | | - passed: true |
219 | | - comment: Excellent use of Highcharts-specific plotBands feature for both x_axis |
220 | | - and y_axis, with styled labels and positioning |
221 | | - verdict: APPROVED |
| 20 | + strengths: [] |
| 21 | + weaknesses: [] |
0 commit comments