def test_trans_minor_breaks(): class identity_trans(trans): def __init__(self): self.minor_breaks = trans_minor_breaks(identity_trans) class square_trans(trans): transform = staticmethod(np.square) inverse = staticmethod(np.sqrt) def __init__(self): self.minor_breaks = trans_minor_breaks(square_trans) class weird_trans(trans): dataspace_is_numerical = False def __init__(self): self.minor_breaks = trans_minor_breaks(weird_trans) major = [1, 2, 3, 4] limits = [0, 5] regular_minors = trans().minor_breaks(major, limits) npt.assert_allclose(regular_minors, identity_trans().minor_breaks(major, limits)) # Transform the input major breaks and check against # the inverse of the output minor breaks squared_input_minors = square_trans().minor_breaks(np.square(major), np.square(limits)) npt.assert_allclose(regular_minors, np.sqrt(squared_input_minors)) t = weird_trans() with pytest.raises(TypeError): t.minor_breaks(major)
def test_trans_minor_breaks(): class identity_trans(trans): def __init__(self): self.minor_breaks = trans_minor_breaks(identity_trans) class square_trans(trans): transform = staticmethod(np.square) inverse = staticmethod(np.sqrt) def __init__(self): self.minor_breaks = trans_minor_breaks(square_trans) class weird_trans(trans): dataspace_is_numerical = False def __init__(self): self.minor_breaks = trans_minor_breaks(weird_trans) major = [1, 2, 3, 4] limits = [0, 5] regular_minors = trans().minor_breaks(major, limits) npt.assert_allclose(regular_minors, identity_trans().minor_breaks(major, limits)) # Transform the input major breaks and check against # the inverse of the output minor breaks squared_input_minors = square_trans().minor_breaks(np.square(major), np.square(limits)) npt.assert_allclose(regular_minors, np.sqrt(squared_input_minors)) t = weird_trans() with pytest.raises(TypeError): t.minor_breaks(major) # Test minor_breaks for log scales are 2 less than the base base = 10 breaks = np.arange(1, 3) limits = [breaks[0], breaks[-1]] t = log_trans(base) assert len(t.minor_breaks(breaks, limits)) == base - 2 base = 5 # Odd base breaks = np.arange(1, 3) limits = [breaks[0], breaks[-1]] t = log_trans(base) assert len(t.minor_breaks(breaks, limits)) == base - 2 t = log_trans() major = t.transform([1, 10, 100]) limits = t.transform([1, 100]) result = trans_minor_breaks(t)(major, limits, n=4) npt.assert_allclose(result, [ 1.02961942, 1.5260563, 1.85629799, 2.10413415, 3.33220451, 3.8286414, 4.15888308, 4.40671925 ])
def test_trans_minor_breaks(): class identity_trans(trans): def __init__(self): self.minor_breaks = trans_minor_breaks(identity_trans) class square_trans(trans): transform = staticmethod(np.square) inverse = staticmethod(np.sqrt) def __init__(self): self.minor_breaks = trans_minor_breaks(square_trans) class weird_trans(trans): dataspace_is_numerical = False def __init__(self): self.minor_breaks = trans_minor_breaks(weird_trans) major = [1, 2, 3, 4] limits = [0, 5] regular_minors = trans().minor_breaks(major, limits) npt.assert_allclose( regular_minors, identity_trans().minor_breaks(major, limits)) # Transform the input major breaks and check against # the inverse of the output minor breaks squared_input_minors = square_trans().minor_breaks( np.square(major), np.square(limits)) npt.assert_allclose(regular_minors, np.sqrt(squared_input_minors)) t = weird_trans() with pytest.raises(TypeError): t.minor_breaks(major) # Test minor_breaks for log scales are 2 less than the base base = 10 breaks = np.arange(1, 3) limits = [breaks[0], breaks[-1]] t = log_trans(base) assert len(t.minor_breaks(breaks, limits)) == base - 2 base = 5 # Odd base breaks = np.arange(1, 3) limits = [breaks[0], breaks[-1]] t = log_trans(base) assert len(t.minor_breaks(breaks, limits)) == base - 2
def test_trans_minor_breaks(): class identity_trans(trans): def __init__(self): self.minor_breaks = trans_minor_breaks(identity_trans) class square_trans(trans): transform = staticmethod(np.square) inverse = staticmethod(np.sqrt) def __init__(self): self.minor_breaks = trans_minor_breaks(square_trans) class weird_trans(trans): dataspace_is_numerical = False def __init__(self): self.minor_breaks = trans_minor_breaks(weird_trans) major = [1, 2, 3, 4] limits = [0, 5] regular_minors = trans().minor_breaks(major, limits) npt.assert_allclose(regular_minors, identity_trans().minor_breaks(major, limits)) # Transform the input major breaks and check against # the inverse of the output minor breaks squared_input_minors = square_trans().minor_breaks(np.square(major), np.square(limits)) npt.assert_allclose(regular_minors, np.sqrt(squared_input_minors)) t = weird_trans() with pytest.raises(TypeError): t.minor_breaks(major) # Test minor_breaks for log scales are 2 less than the base base = 10 breaks = np.arange(1, 3) limits = [breaks[0], breaks[-1]] t = log_trans(base) assert len(t.minor_breaks(breaks, limits)) == base - 2 base = 5 # Odd base breaks = np.arange(1, 3) limits = [breaks[0], breaks[-1]] t = log_trans(base) assert len(t.minor_breaks(breaks, limits)) == base - 2
def _test_trans(trans, x): t = gettrans(trans()) xt = t.transform(x) x2 = t.inverse(xt) # round trip npt.assert_allclose(x, x2) major = t.breaks([min(x), max(x)]) minor = t.minor_breaks(t.transform(major)) # Breaks and they are finite assert len(major) assert len(minor) assert all(np.isfinite(major)) assert all(np.isfinite(minor)) # Not breaks outside the domain assert all(major >= t.domain[0]) assert all(major <= t.domain[1]) assert all(minor >= t.domain[0]) assert all(minor <= t.domain[1])
def _test_trans(trans, x): t = gettrans(trans()) xt = t.transform(x) x2 = t.inverse(xt) is_log_trans = ('log' in t.__class__.__name__ and hasattr(t, 'base')) # round trip npt.assert_allclose(x, x2) major = t.breaks([min(x), max(x)]) minor = t.minor_breaks(t.transform(major)) # Breaks and they are finite assert len(major) if is_log_trans and int(t.base) == 2: # Minor breaks for base == 2 assert len(minor) == 0 else: assert len(minor) assert all(np.isfinite(major)) assert all(np.isfinite(minor)) # Not breaks outside the domain assert all(major >= t.domain[0]) assert all(major <= t.domain[1]) assert all(minor >= t.domain[0]) assert all(minor <= t.domain[1])
def _test_trans(trans, x): t = gettrans(trans()) xt = t.transform(x) x2 = t.inverse(xt) is_log_trans = (t.__class__.__name__.startswith('log') and hasattr(t, 'base')) # round trip npt.assert_allclose(x, x2) major = t.breaks([min(x), max(x)]) minor = t.minor_breaks(t.transform(major)) # Breaks and they are finite assert len(major) if is_log_trans and int(t.base) == 2: # Minor breaks for base == 2 assert len(minor) == 0 else: assert len(minor) assert all(np.isfinite(major)) assert all(np.isfinite(minor)) # Not breaks outside the domain assert all(major >= t.domain[0]) assert all(major <= t.domain[1]) assert all(minor >= t.domain[0]) assert all(minor <= t.domain[1])
def test_trans(): with pytest.raises(KeyError): trans(universe=True)
import geopandas as gpd from mizani.transforms import trans major = [0, 1, 2] t = trans() print(t.minor_breaks(major)) t = trans(minor_breaks=[4]) # print(t.minor_breaks(major)) # print(minor_breaks(4)) gdf = gpd