def theme(dark=False, lighten=0.3, lighten_edges=None, lighten_text=None,
          lighten_grid=None, **kwargs):
    """
    Create plotting parameters for different themes.

    Parameters
    ----------
    dark : bool
        Dark or light theme.
    lighten : float with range [0.0, 1.0]
        Lighten lines by fration `lighten`.
        See https://www.darkhorseanalytics.com/blog/data-looks-better-naked/
    lighten_edges : float
        Defaults to `lighten`.
    lighten_text : float
        Defaults to `lighten`.
    lighten_grid : float
        Defaults to `lighten`.
    **kwargs : dict
        Not used.

    Returns
    -------
    dict
        Matplotlib plotting parameters dictionary.
    """
    if lighten_edges is None:
        lighten_edges = lighten
    if lighten_text is None:
        lighten_text = lighten
    if lighten_grid is None:
        lighten_grid = lighten_edges
    foreground_text = str(0.0 + lighten_text)
    foreground_edges = str(0.0 + lighten_edges)
    foreground_grid = str(0.0 + lighten_grid)
    background = 'white'
    if dark:
        foreground_text = str(1.0 - lighten_text)
        foreground_edges = str(1.0 - lighten_edges)
        foreground_grid = str(1.0 - lighten_grid)
        background = 'black'

    params = {
        # 'lines.color': foreground,
        'patch.edgecolor': foreground_edges,
        'text.color': foreground_text,
        'axes.facecolor': background,
        'axes.edgecolor': foreground_edges,
        'axes.labelcolor': foreground_text,
        'xtick.color': foreground_text,
        'ytick.color': foreground_text,
        'grid.color': foreground_grid,
        'legend.edgecolor': foreground_edges,
        'figure.facecolor': background,
        'figure.edgecolor': background,
        'savefig.facecolor': background,
        'savefig.edgecolor': background
    }

    return params