Repository URL to install this package:
Version:
3.10.0 ▾
|
import numpy as np
import pytest
from matplotlib.transforms import Bbox
from mpl_toolkits.axisartist.grid_finder import (
_find_line_box_crossings, FormatterPrettyPrint, MaxNLocator)
def test_find_line_box_crossings():
x = np.array([-3, -2, -1, 0., 1, 2, 3, 2, 1, 0, -1, -2, -3, 5])
y = np.arange(len(x))
bbox = Bbox.from_extents(-2, 3, 2, 12.5)
left, right, bottom, top = _find_line_box_crossings(
np.column_stack([x, y]), bbox)
((lx0, ly0), la0), ((lx1, ly1), la1), = left
((rx0, ry0), ra0), ((rx1, ry1), ra1), = right
((bx0, by0), ba0), = bottom
((tx0, ty0), ta0), = top
assert (lx0, ly0, la0) == (-2, 11, 135)
assert (lx1, ly1, la1) == pytest.approx((-2., 12.125, 7.125016))
assert (rx0, ry0, ra0) == (2, 5, 45)
assert (rx1, ry1, ra1) == (2, 7, 135)
assert (bx0, by0, ba0) == (0, 3, 45)
assert (tx0, ty0, ta0) == pytest.approx((1., 12.5, 7.125016))
def test_pretty_print_format():
locator = MaxNLocator()
locs, nloc, factor = locator(0, 100)
fmt = FormatterPrettyPrint()
assert fmt("left", None, locs) == \
[r'$\mathdefault{%d}$' % (l, ) for l in locs]