from plotnine import (
    element_blank,
    element_line,
    element_rect,
    element_text,
    theme,
    theme_light,
)

DISCRETE_COLORS = ["#1ECBE0", "#E0331E", "#6AE01E", "#941EE0"]


class theme_pedroai(theme_light):
    """
    A theme similar to :class:`theme_linedraw` but with light grey
    lines and axes to direct more attention towards the data.
    Parameters
    ----------
    base_size : int, optional
        Base font size. All text sizes are a scaled versions of
        the base font size. Default is 11.
    base_family : str, optional
        Base font family.
    """

    def __init__(self, base_size=11, base_family="DejaVu Sans"):
        theme_light.__init__(self, base_size, base_family)
        self.add_theme(
            theme(
                text=element_text(size=14),
                axis_ticks=element_line(color="#DDDDDD", size=0.5),
                panel_border=element_rect(fill="None", color="#838383", size=1),
                panel_spacing=0.40,
                strip_background=element_rect(fill="#DDDDDD", color="#838383", size=1),
                strip_text_x=element_text(color="black"),
                strip_text_y=element_text(color="black", angle=-90),
                legend_key=element_blank(),
                legend_position="top",
                plot_margin=0,
            ),
            inplace=True,
        )
