You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add SVG chart renderer for posters, dynamic palette loading, per-bar colors, axis labels, and updated gallery
- Add chart_renderer.py: matplotlib-based SVG renderer for poster charts (bar, line, scatter, pie, doughnut, radar)
- Replace emoji figures in sample poster with real SVG charts
- Add dynamic palette loading: matplotlib colormaps and seaborn palettes sampled to exact n_colors
- Single-dataset bar charts now show per-bar colors from palette
- Add xlabel/ylabel axis label support to chart blocks
- Caption uses Chart.js subtitle plugin (fullSize: true) for full-width centering
- Font hierarchy: tick labels 18px, axis titles 20px, captions 22px
- Add viridis palette example slide and screenshot to gallery
- Update all chart and poster screenshots
- 18 new tests in test_chart_renderer.py, 11 new tests in test_preprocessor.py (365 total)
Radar charts automatically render smaller datasets on top of larger ones for maximum visibility.
619
+
620
+
**Pie and doughnut chart examples:**
621
+
622
+
````markdown
623
+
```chart
624
+
type: pie
625
+
labels: Federal, Industry, Foundation, University
626
+
data: 45, 25, 18, 12
627
+
caption: Funding sources
628
+
```
629
+
````
630
+
631
+
````markdown
632
+
```chart
633
+
type: doughnut
634
+
labels: Research, Teaching, Service, Admin
635
+
data: 40, 25, 20, 15
636
+
caption: Faculty time distribution
637
+
```
638
+
````
639
+
640
+
Pie and doughnut charts display legends automatically.
641
+
569
642
**Available palettes:**
570
643
644
+
14 built-in palettes are available:
645
+
571
646
| Palette | Description |
572
647
|---------|-------------|
573
648
|`cdl`| CDL/Dartmouth brand colors (default) |
@@ -585,7 +660,13 @@ For grouped bars, use multiple datasets with `type: bar`.
585
660
|`Set3`| ColorBrewer Set3 |
586
661
|`Paired`| ColorBrewer Paired |
587
662
588
-
Charts also work inside poster sections — just use the same ```` ```chart ```` syntax in your poster markdown.
663
+
In addition to the built-in palettes, you can use **any matplotlib colormap** or **seaborn palette** by name. Colors are sampled automatically based on the number of chart elements (datasets for multi-dataset charts, labels for single-dataset bar/pie/doughnut charts).
**Seaborn palettes:**`husl`, `hls`, `rocket`, `mako`, `flare`, `crest`, and [all others](https://seaborn.pydata.org/tutorial/color_palettes.html).
668
+
669
+
Charts also work inside poster sections — just use the same ```` ```chart ```` syntax in your poster markdown. In posters, charts are rendered as scalable vector graphics (SVG) using matplotlib for optimal print quality.
0 commit comments