# Path: bigbang/visualisation/utils.py
# def create_color_palette(
#     ylabels: List[str],
#     domains_in_focus: Optional[List[str]] = None,
#     colormap: mpl.colors.LinearSegmentedColormap = mpl.cm.jet,
#     include_dof: bool = True,
#     color_dof: np.array = np.array([175, 175, 175]),
#     return_dict: bool = False,
# ) -> list:


from typing import Dict, List, Optional, Tuple, Union
from colour import Color
from pylab import cm
from matplotlib.pyplot import figure
from bigbang.visualisation import utils
import numpy as np
import pylab
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
        ylabels = get_ylabels(idata)
    # create numpy array and fill sparse matrix
    odata = np.zeros((len(ylabels), len(idata.keys())))
    for iy, ylab in enumerate(ylabels):
        for ix, ydic in enumerate(idata.values()):
            if ylab in list(ydic.keys()):
                odata[iy, ix] = ydic[ylab]
    if percentage:
        odata = odata / np.sum(odata, axis=0)
    return odata


def stacked_area_chart(
    data: dict,
    ax: mpl.axes,
    domains_in_focus: Optional[list] = None,
    percentage: bool = False,
    colormap: Optional[mpl.colors.LinearSegmentedColormap] = None,
    color_default: Optional[np.array] = None,
):
    """
    Parameters
    ----------
    data : Dictionary with a format {'x_axis_labels': {'y_axis_labels': y_values}}
    domains_in_focus :
    percentage :
    """
    x = list(data.keys())
    y = data_transformation(data, percentage)
    ylabels = get_ylabels(data)

# Path: bigbang/visualisation/utils.py
# def create_color_palette(
#     ylabels: List[str],
#     domains_in_focus: Optional[List[str]] = None,
#     colormap: mpl.colors.LinearSegmentedColormap = mpl.cm.jet,
#     include_dof: bool = True,
#     color_dof: np.array = np.array([175, 175, 175]),
#     return_dict: bool = False,
# ) -> list:


# Path: bigbang/visualisation/stackedareachart.py
from typing import Dict, List, Optional, Tuple, Union
from colour import Color
from pylab import cm
from matplotlib.pyplot import figure
from bigbang.visualisation import utils
import numpy as np
import pylab
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.lines as mlines

        ylabels = get_ylabels(idata)
    # create numpy array and fill sparse matrix
    odata = np.zeros((len(ylabels), len(idata.keys())))
    for iy, ylab in enumerate(ylabels):
        for ix, ydic in enumerate(idata.values()):
            if ylab in list(ydic.keys()):
                odata[iy, ix] = ydic[ylab]
    if percentage:
        odata = odata / np.sum(odata, axis=0)
    return odata


def stacked_area_chart(
    data: dict,
    ax: mpl.axes,
    domains_in_focus: Optional[list] = None,
    percentage: bool = False,
    colormap: Optional[mpl.colors.LinearSegmentedColormap] = None,
    color_default: Optional[np.array] = None,
):
    """
    Parameters
    ----------
    data : Dictionary with a format {'x_axis_labels': {'y_axis_labels': y_values}}
    domains_in_focus :
    percentage :
    """
    x = list(data.keys())
    y = data_transformation(data, percentage)
    ylabels = get_ylabels(data)

    colors = utils.create_color_palette(