def test_named_plot2d(): """ Test named plot2d -- whether 2d-NamedHist can be plotted properly. """ h = NamedHist( axis.Regular(50, -5, 5, name="A", label="a [units]", underflow=False, overflow=False), axis.Regular(50, -4, 4, name="B", label="b [units]", underflow=False, overflow=False), ).fill(B=np.random.normal(size=10), A=np.random.normal(size=10)) assert h.plot2d(cmap="cividis") plt.close("all") # dimension error h = NamedHist( axis.Regular(50, -5, 5, name="A", label="a [units]", underflow=False, overflow=False), axis.Regular(50, -4, 4, name="B", label="b [units]", underflow=False, overflow=False), ).fill(B=np.random.normal(size=10), A=np.random.normal(size=10)) with pytest.raises(Exception): h.project("A").plot2d() # wrong kwargs names with pytest.raises(Exception): h.plot2d(abc="red") # wrong kwargs type with pytest.raises(Exception): h.plot2d(cmap=0.1) plt.close("all")
def test_named_plot2d_full(): """ Test named plot2d_full -- whether 2d-NamedHist can be fully plotted properly. """ h = NamedHist( axis.Regular( 50, -5, 5, name="A", label="a [units]", underflow=False, overflow=False ), axis.Regular( 50, -4, 4, name="B", label="b [units]", underflow=False, overflow=False ), ).fill(B=np.random.normal(size=10), A=np.random.normal(size=10)) assert h.plot2d_full( main_cmap="cividis", top_ls="--", top_color="orange", top_lw=2, side_ls="-.", side_lw=1, side_color="steelblue", ) plt.close("all") # dimension error h = NamedHist( axis.Regular( 50, -5, 5, name="A", label="a [units]", underflow=False, overflow=False ), axis.Regular( 50, -4, 4, name="B", label="b [units]", underflow=False, overflow=False ), ).fill(B=np.random.normal(size=10), A=np.random.normal(size=10)) with pytest.raises(Exception): h.project("A").plot2d_full() # wrong kwargs names with pytest.raises(Exception): h.plot2d_full(abc="red") with pytest.raises(Exception): h.plot2d_full(color="red") # wrong kwargs type with pytest.raises(Exception): h.plot2d_full(main_cmap=0.1, side_lw="autumn") plt.close("all")
def test_named_project(): """ Test named project -- whether NamedHist can be projected properly. """ h = NamedHist( axis.Regular( 50, -5, 5, name="A", label="a [units]", underflow=False, overflow=False ), axis.Boolean(name="B", label="b [units]"), axis.Variable(range(11), name="C", label="c [units]"), axis.Integer(0, 10, name="D", label="d [units]"), axis.IntCategory(range(10), name="E", label="e [units]"), axis.StrCategory("FT", name="F", label="f [units]"), ) # via names assert h.project() assert h.project("A", "B") assert h.project("A", "B", "C", "D", "E", "F") h = NamedHist( axis.Regular( 50, -5, 5, name="A", label="a [units]", underflow=False, overflow=False ), axis.Boolean(name="B", label="b [units]"), axis.Variable(range(11), name="C", label="c [units]"), axis.Integer(0, 10, name="D", label="d [units]"), axis.IntCategory(range(10), name="E", label="e [units]"), axis.StrCategory("FT", name="F", label="f [units]"), ) # via indices with pytest.raises(Exception): h.project(0, 1) with pytest.raises(Exception): h.project(0, 1, 2, 3, 4, 5) # duplicated with pytest.raises(Exception): h.project(0, 0) with pytest.raises(Exception): h.project("A", "A") # wrong/mixed types with pytest.raises(Exception): h.project(2, "A") with pytest.raises(Exception): h.project(True, "A") # cannot found with pytest.raises(Exception): h.project(-1, 9) with pytest.raises(Exception): h.project("G", "H")