Skip to content

AxisPlot extends the functionality of Matplotlib's imshow() function by showing additional plots.

License

Notifications You must be signed in to change notification settings

jayanthc/axisplot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AxisPlot

AxisPlot extends the functionality of Matplotlib's imshow() function by appending up to four plots to the image, at the top, bottom, left, and/or right. The additional plots contain the output of operations that are performed along the two axes. Plots at the top and bottom contain the output of operations performed along the vertical axis, while plots on the left and right contain the output of operations that are performed along the horizontal axis. For example, the screenshot below shows an AxisPlot with the mean of the image computed along the vertical axis, shown at the top, and the sum of the image computed along the horizontal axis, shown on the right.

AxisPlot screenshot

Usage

import numpy as np
import matplotlib.pyplot as plt
import axisplot as ap

# generate some data
dim_x = 512
dim_y = 256
x = np.linspace(0, 2 * np.pi, dim_x)
X = np.random.normal(size=(dim_y, dim_x)) + np.sin(x)
# create axisplot with mean along the y-axis at the top, and sum along the
# x-axis on the right
axisplot = ap.AxisPlot(optop=np.mean, opright=np.sum, cmap='plasma')
ax, ax_top, ax_right = axisplot.plot(X)
ax_top.set_title('Example')
# another example, using an operation (percentile) that takes arguments
# axisplot = ap.AxisPlot(optop=np.percentile, topargs={'a': X, 'q': 95})
# axisplot.plot(X)
plt.show()

Installation

Development mode:

cd <axisplot-directory>
pip install -e .

Unit Testing

cd <axisplot-directory>
python -m unittest

License

AxisPlot is distributed under WTFPLv2.


About

AxisPlot extends the functionality of Matplotlib's imshow() function by showing additional plots.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages