def test_color_and_alpha(self): x = y = [1, 2, 3] m = Path(color=(.4, .9, .2), fillcolor=(.2, .2, .3), alpha=.5) p = Plot(x=x, y=y).add(m).plot() line, = p._figure.axes[0].get_lines() assert same_color(line.get_color(), to_rgba(m.color, m.alpha)) assert same_color(line.get_markeredgecolor(), to_rgba(m.color, m.alpha)) assert same_color(line.get_markerfacecolor(), to_rgba(m.fillcolor, m.alpha))
def test_shared_colors_direct(self): x = y = [1, 2, 3] m = Path(color="r") p = Plot(x=x, y=y).add(m).plot() line, = p._figure.axes[0].get_lines() assert same_color(line.get_color(), "r") assert same_color(line.get_markeredgecolor(), "r") assert same_color(line.get_markerfacecolor(), "r")
def test_color_with_alpha(self): x = y = [1, 2, 3] m = Path(color=(.4, .9, .2, .5), fillcolor=(.2, .2, .3, .9)) p = Plot(x=x, y=y).add(m).plot() line, = p._figure.axes[0].get_lines() assert same_color(line.get_color(), m.color) assert same_color(line.get_markeredgecolor(), m.color) assert same_color(line.get_markerfacecolor(), m.fillcolor)
def test_separate_colors_direct(self): x = y = [1, 2, 3] y = [1, 2, 3] m = Path(color="r", edgecolor="g", fillcolor="b") p = Plot(x=x, y=y).add(m).plot() line, = p._figure.axes[0].get_lines() assert same_color(line.get_color(), m.color) assert same_color(line.get_markeredgecolor(), m.edgecolor) assert same_color(line.get_markerfacecolor(), m.fillcolor)
def test_capstyle(self): x = y = [1, 2] rc = { "lines.solid_capstyle": "projecting", "lines.dash_capstyle": "round" } p = Plot(x, y).add(Path()).theme(rc).plot() line, = p._figure.axes[0].get_lines() assert line.get_dash_capstyle() == "projecting" p = Plot(x, y).add(Path(linestyle="--")).theme(rc).plot() line, = p._figure.axes[0].get_lines() assert line.get_dash_capstyle() == "round" p = Plot(x, y).add(Path({"solid_capstyle": "butt"})).theme(rc).plot() line, = p._figure.axes[0].get_lines() assert line.get_solid_capstyle() == "butt"
def test_other_props_direct(self): x = y = [1, 2, 3] m = Path(marker="s", linestyle="--", linewidth=3, pointsize=10, edgewidth=1) p = Plot(x=x, y=y).add(m).plot() line, = p._figure.axes[0].get_lines() assert line.get_marker() == m.marker assert line.get_linestyle() == m.linestyle assert line.get_linewidth() == m.linewidth assert line.get_markersize() == m.pointsize assert line.get_markeredgewidth() == m.edgewidth
def test_shared_colors_mapped(self): x = y = [1, 2, 3, 4] c = ["a", "a", "b", "b"] m = Path() p = Plot(x=x, y=y, color=c).add(m).plot() ax = p._figure.axes[0] for i, line in enumerate(ax.get_lines()): assert same_color(line.get_color(), f"C{i}") assert same_color(line.get_markeredgecolor(), f"C{i}") assert same_color(line.get_markerfacecolor(), f"C{i}")
def test_other_props_mapped(self): x = y = [1, 2, 3, 4] g = ["a", "a", "b", "b"] m = Path() p = Plot(x=x, y=y, marker=g, linestyle=g, pointsize=g).add(m).plot() line1, line2 = p._figure.axes[0].get_lines() assert line1.get_marker() != line2.get_marker() # Matplotlib bug in storing linestyle from dash pattern # assert line1.get_linestyle() != line2.get_linestyle() assert line1.get_markersize() != line2.get_markersize()
def test_xy_data(self): x = [1, 5, 3, np.nan, 2] y = [1, 4, 2, 5, 3] g = [1, 2, 1, 1, 2] p = Plot(x=x, y=y, group=g).add(Path()).plot() line1, line2 = p._figure.axes[0].get_lines() assert_array_equal(line1.get_xdata(), [1, 3, np.nan]) assert_array_equal(line1.get_ydata(), [1, 2, np.nan]) assert_array_equal(line2.get_xdata(), [5, 2]) assert_array_equal(line2.get_ydata(), [4, 3])