Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MathOnco/Curvogram
Method for plotting histograms on a curve using a West Transform
https://github.com/MathOnco/Curvogram
Last synced: 11 days ago
JSON representation
Method for plotting histograms on a curve using a West Transform
- Host: GitHub
- URL: https://github.com/MathOnco/Curvogram
- Owner: MathOnco
- License: bsd-3-clause
- Created: 2022-04-25T15:09:15.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-04-26T19:53:29.000Z (over 2 years ago)
- Last Synced: 2024-08-01T16:46:22.444Z (3 months ago)
- Language: Jupyter Notebook
- Size: 1.74 MB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Curvogram
Envisioned by Ryan Schenck with development of method from Jeffrey West.
Method for plotting histograms on a curve using a West Transform. Originally, the term 'histo' means mast, as in a sailboat mast that holds the luff of a sail. Here we call these a curvogram, which is a histogram on a curve that is given by a user defined function. The transformed coordinates are a conformal mapping to the curve/function defined by the user, termed the West Coordinate Transform.
Together, the West Coordinate Transform and the Curvogram represent a fun way to visualize high density information that is often plotted separately for sake of accuracy. However, this separation, may not be necessary if the take away for a plot is easily understood using a curvogram or the curvogram is supplemented with the original histogram elsewhere.
## Examples
Here are two versions with matlab and python code.### Matlab
[![View Curvogram on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/110645-curvogram)Here we show the functions for a normal distribution whose mean is 1.5 and variance of 0.5. The curve functions are f(x)=sin(x), f(x)=cos(x), and f(x)=x^2.
![](/MATLAB/MATLAB_example.png?raw=true)### Python
Here we show the same curve functions: f(x)=sin(x), f(x)=cos(x), and f(x)=x^2.
![](/python/Python_example.png?raw=true)### Important considerations:
1. The curve cannot be that complex. So simple x/y relationships work best.
2. The distributions that you plot on the curve needs to be clear, but how clear depends entirely on the steepness of the curve.
3. The ***plotting area must be square***.