CutoffScale

class CutoffScale(*args, **kwargs)[source]

Bases: proplot.axistools._ScaleBase, matplotlib.scale.ScaleBase

Axis scale composed of arbitrary piecewise linear transformations. The axis can undergo discrete jumps, “accelerations”, or “decelerations” between successive thresholds. Adapted from this stackoverflow post.

Parameters

*args ((thresh_1, scale_1, …, thresh_N, [scale_N]), optional) – Sequence of thresholds and scales. If the final scale is omitted (i.e. you passed an odd number of args) it is set to 1.

  • If scale_i < 1, the axis is decelerated from thresh_i to thresh_i+1 or, if i == N, everywhere above thresh_i.

  • If scale_i > 1, the axis is accelerated from thresh_i to thresh_i+1 or, if i == N, everywhere above thresh_i.

  • If scale_i == np.inf, the axis discretely jumps from thresh_i to thresh_i+1.

Example

>>> import proplot as plot
... import numpy as np
... scale = plot.CutoffScale(10, 2)  # go "twice as fast" after 10
... scale = plot.CutoffScale(10, 0.5, 20)  # zoom in between 10 and 20
... scale = plot.CutoffScale(10, np.inf, 20)  # jump from 10 to 20

Attributes Summary

name

The registered scale name.