feat: professional acoustic plot styling and combined dashboard#68
Merged
feat: professional acoustic plot styling and combined dashboard#68
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
plot_thememodule: 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)plotter,impedance_plot,phase_plot,compare,compare_horns, andhtml_reportnow use the shared theme for consistent professional outputdashboardmodule: combined 3-panel figure (SPL + impedance + phase/group-delay) on a shared x-axis, with CLI entry point (horn-dashboard) and Nextflow processTest plan
pytest packages/horn-analysis/tests/ -v— all 17 tests pass (including new dashboard test)docker build --target test -f packages/horn-solver/Dockerfile .passes🤖 Generated with Claude Code