Scaleogram is a user friendly plot tool for 1D data analysis with Continuous Wavelet Transform built on the PyWavelets library.
I started this project when realizing how harsh it can be to build nice plots of wavelets scaleogram with axes ticks and labels consistent with the actual location of features. Hence this module aim to provide a reliable tool for either quick data analysis or publication.
It has the following features:
-
simple call signature for complete beginners
-
readable axes and clean matplotlib integration
-
many options for changing scale, spectrum filter, colorbar integration, etc...
-
support for periodicity and frequency units, consistent with labelling
-
speed, uses a N*log(N) algorithm for transforms
-
portability: tested with python2.7 and python3.7
-
comprehensive error messages and documentation with examples
-
support for Cone Of Influence mask
Installation should be straightforward with
pip install scaleogram
git clone http://github.com/alsauve/scaleogram
cd scaleogram
python ./setup.py install --user
This module depends on
- PyWavelet >= 1.0
- matplotlib >= 2.0
- numpy >= 1.0
A lot of documentation and examples are available online from the docstrings
Jupyter notebook are also provided for quickstarting
- A gentle introduction to CWT based data analysis [TODO]
- scale to frequency relationship
- Example of scaleogram with the NINO3.4 SST seasonal time series
- Graphical output of the test set
A features test matrix can be plotted with
# launch graphical tests
python -m scaleogram.test
- ViM - The editor
- Spyder - The Scientific Python Developement Environment
- Jupyter - The Jupyter Notebook
See the Releases page.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Alexandre sauve - Initial work - Scaleogram
This project is licensed under the MIT License - see the LICENSE.md file for details
- The team behind PyWavelet for their nice job into making wavelet transform available
- The Matlab environement for inspiration and good documentation
- Mabel Calim Costa for the waipy package and inspiration