Skip to content

feat: professional acoustic plot styling and combined dashboard#68

Merged
timini merged 1 commit intomainfrom
feat/professional-plot-styling
Mar 1, 2026
Merged

feat: professional acoustic plot styling and combined dashboard#68
timini merged 1 commit intomainfrom
feat/professional-plot-styling

Conversation

@timini
Copy link
Owner

@timini timini commented Mar 1, 2026

Summary

  • New plot_theme module: shared styling source of truth — muted color palette, standard audio frequency ticks (20 Hz–20 kHz with "k" suffix), fixed 5 dB SPL divisions, dual-weight grids, 150 DPI output, smooth curves (no markers)
  • All 6 plotting modules migrated: plotter, impedance_plot, phase_plot, compare, compare_horns, and html_report now use the shared theme for consistent professional output
  • New dashboard module: combined 3-panel figure (SPL + impedance + phase/group-delay) on a shared x-axis, with CLI entry point (horn-dashboard) and Nextflow process

Test plan

  • pytest packages/horn-analysis/tests/ -v — all 17 tests pass (including new dashboard test)
  • Visually inspect generated plots from a full pipeline run
  • Verify docker build --target test -f packages/horn-solver/Dockerfile . passes

🤖 Generated with Claude Code

Introduce a shared plot_theme module that standardises all matplotlib
output to match professional acoustic simulation tools (Akabak,
HornResp): muted color palette, log-scale frequency axes with standard
audio ticks (20 Hz–20 kHz), fixed 5 dB SPL divisions, dual-weight
grids, smooth curves without markers, and 150 DPI output.

All existing plotting modules (plotter, impedance_plot, phase_plot,
compare, compare_horns, html_report) now use the shared theme. A new
dashboard module produces a combined 3-panel view (SPL + impedance +
phase/group-delay) on a shared frequency axis, with a Nextflow process
and CLI entry point.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@timini timini merged commit 2ec0814 into main Mar 1, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant