Regen from quality 90. Addressed:
- Canvas: fixed from 4800x2700 (ggsize=1600x900, scale=3) to correct 3200x1800 (ggsize=800x450, scale=4)
- Output naming: plot.png/plot.html → plot-{THEME}.png/plot-{THEME}.html
- Theme support: added ANYPLOT_THEME env var with full theme-adaptive chrome tokens (PAGE_BG, INK, INK_SOFT, INK_MUTED, ELEVATED_BG)
- Colormap: replaced forbidden scale_fill_viridis(plasma) with Imprint sequential (green→blue, single-polarity velocity data)
- Title: fixed "piano-roll-midi · letsplot · pyplots.ai" → "piano-roll-midi · python · letsplot · anyplot.ai"
- Docstring: fixed "pyplots.ai" → "anyplot.ai"
- Black key shading contrast strengthened; shading now theme-adaptive
- Grid line colors now theme-adaptive (rgba ink tokens)
- Y-axis tick size increased from 14pt to 11px
- Kept strengths: dynamic arc labels (pp→fff), melody/accompaniment hierarchy, musically realistic data, tooltips
Implementation:
piano-roll-midi- python/letsplotImplements the python/letsplot version of
piano-roll-midi.File:
plots/piano-roll-midi/implementations/python/letsplot.pyParent Issue: #4565
🤖 impl-generate workflow