egttools.plotting.barplots.MaxNLocator

class MaxNLocator(nbins=None, **kwargs)[source]

Bases: Locator

Place evenly spaced ticks, with a cap on the total number of ticks.

Finds nice tick locations with no more than \(nbins + 1\) ticks being within the view limits. Locations beyond the limits are added to support autoscaling.

Parameters:
  • nbins (int or 'auto', default: 10) – Maximum number of intervals; one less than max number of ticks. If the string ‘auto’, the number of bins will be automatically determined based on the length of the axis.

  • steps (array-like, optional) – Sequence of acceptable tick multiples, starting with 1 and ending with 10. For example, if steps=[1, 2, 4, 5, 10], 20, 40, 60 or 0.4, 0.6, 0.8 would be possible sets of ticks because they are multiples of 2. 30, 60, 90 would not be generated because 3 does not appear in this example list of steps.

  • integer (bool, default: False) – If True, ticks will take only integer values, provided at least min_n_ticks integers are found within the view limits.

  • symmetric (bool, default: False) – If True, autoscaling will result in a range symmetric about zero.

  • prune ({'lower', 'upper', 'both', None}, default: None) – Remove the ‘lower’ tick, the ‘upper’ tick, or ticks on ‘both’ sides if they fall exactly on an axis’ edge (this typically occurs when :rc:`axes.autolimit_mode` is ‘round_numbers’). Removing such ticks is mostly useful for stacked or ganged plots, where the upper tick of an Axes overlaps with the lower tick of the axes above it.

  • min_n_ticks (int, default: 2) – Relax nbins and integer constraints if necessary to obtain this minimum number of ticks.

Methods

create_dummy_axis

nonsingular

Adjust a range as needed to avoid singularities.

raise_if_exceeds

Log at WARNING level if locs is longer than Locator.MAXTICKS.

set_axis

set_params

Set parameters for this locator.

tick_values

Return the values of the located ticks given vmin and vmax.

view_limits

Select a scale for the range from vmin to vmax.

Attributes

__call__()[source]

Return the locations of the ticks.

__init__(nbins=None, **kwargs)[source]
Parameters:
  • nbins (int or 'auto', default: 10) – Maximum number of intervals; one less than max number of ticks. If the string ‘auto’, the number of bins will be automatically determined based on the length of the axis.

  • steps (array-like, optional) – Sequence of acceptable tick multiples, starting with 1 and ending with 10. For example, if steps=[1, 2, 4, 5, 10], 20, 40, 60 or 0.4, 0.6, 0.8 would be possible sets of ticks because they are multiples of 2. 30, 60, 90 would not be generated because 3 does not appear in this example list of steps.

  • integer (bool, default: False) – If True, ticks will take only integer values, provided at least min_n_ticks integers are found within the view limits.

  • symmetric (bool, default: False) – If True, autoscaling will result in a range symmetric about zero.

  • prune ({'lower', 'upper', 'both', None}, default: None) – Remove the ‘lower’ tick, the ‘upper’ tick, or ticks on ‘both’ sides if they fall exactly on an axis’ edge (this typically occurs when :rc:`axes.autolimit_mode` is ‘round_numbers’). Removing such ticks is mostly useful for stacked or ganged plots, where the upper tick of an Axes overlaps with the lower tick of the axes above it.

  • min_n_ticks (int, default: 2) – Relax nbins and integer constraints if necessary to obtain this minimum number of ticks.

create_dummy_axis(**kwargs)
nonsingular(v0, v1)

Adjust a range as needed to avoid singularities.

This method gets called during autoscaling, with (v0, v1) set to the data limits on the Axes if the Axes contains any data, or (-inf, +inf) if not.

  • If v0 == v1 (possibly up to some floating point slop), this method returns an expanded interval around this value.

  • If (v0, v1) == (-inf, +inf), this method returns appropriate default view limits.

  • Otherwise, (v0, v1) is returned without modification.

raise_if_exceeds(locs)

Log at WARNING level if locs is longer than Locator.MAXTICKS.

This is intended to be called immediately before returning locs from __call__ to inform users in case their Locator returns a huge number of ticks, causing Matplotlib to run out of memory.

The “strange” name of this method dates back to when it would raise an exception instead of emitting a log.

set_axis(axis)
set_params(**kwargs)[source]

Set parameters for this locator.

Parameters:
  • nbins (int or 'auto', optional) – see .MaxNLocator

  • steps (array-like, optional) – see .MaxNLocator

  • integer (bool, optional) – see .MaxNLocator

  • symmetric (bool, optional) – see .MaxNLocator

  • prune ({'lower', 'upper', 'both', None}, optional) – see .MaxNLocator

  • min_n_ticks (int, optional) – see .MaxNLocator

tick_values(vmin, vmax)[source]

Return the values of the located ticks given vmin and vmax.

Note

To get tick locations with the vmin and vmax values defined automatically for the associated axis simply call the Locator instance:

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
view_limits(dmin, dmax)[source]

Select a scale for the range from vmin to vmax.

Subclasses should override this method to change locator behaviour.

MAXTICKS = 1000
__annotations__ = {}
axis = None
default_params = {'integer': False, 'min_n_ticks': 2, 'nbins': 10, 'prune': None, 'steps': None, 'symmetric': False}