Guide AI agents working on this parallel coordinates visualization library. This project fills a gap in the Python ecosystem by providing true horizontal/vertical orientation support and preserving original data ranges (not normalized to [0,1]).
src/seaborn_parallel/parallelplot.py: Main implementationscripts/: Demo scripts (demo_*.py,run_all_demos.py)tests/test_parallelplot.py: Test suitetmp/: Generated plot outputs
- Always use
uv runfor Python commands - run the pre-commit hooks with
make hookafter making changes and ensure all checks pass - Run tests before committing:
uv run pytest tests/ormake test-parallel - See
Makefilefor additional commands (make install,make update, etc.)
- Adding features: Edit
src/seaborn_parallel/parallelplot.py - Creating demos: Add scripts to
scripts/demo_*.py - Writing tests: Update
tests/test_parallelplot.py - Documentation: Update docstrings and README.md
Orientation vs. Shared Scaling:
- Vertical + shared scale →
sharey=True - Horizontal + shared scale →
sharex=True - Default: preserves original ranges (no shared axes)
Testing Must Cover:
- Both orientations (vertical/horizontal)
- With and without
hueparameter - Shared vs. independent scaling
- Correct axis labels and tick values
Code Style:
- Use ruff/isort formatting (configured in pre-commit)
- Add type hints to new functions
- Update docstrings for API changes
Performance Considerations:
- Large datasets: adjust
alphaandlinewidthfor readability - Matplotlib rendering is slow with thousands of lines
- Future: consider
rasterized=Truefor very large plots (not yet implemented)