<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def plot_corner(sampler, show_ML=True, **kwargs):
 """ A plot that summarizes the parameter samples by showing them as individual histograms and 2D histograms against each other. The maximum likelihood parameter vector is indicated by a cross. This function is a thin wrapper around `corner.corner`, found at https://github.com/corner/corner.py. Parameters sampler : `emcee.EnsembleSampler` Sampler with a stored chain. show_ML : bool, optional Whether to show the maximum likelihood parameter vector as a cross on the 2D histograms. """

    import matplotlib.pyplot as plt

    oldlw = plt.rcParams["lines.linewidth"]
    plt.rcParams["lines.linewidth"] = 0.7
    try:
        from corner import corner

        if show_ML:
            _, MLp, _, _ = find_ML(sampler, 0)
        else:
            MLp = None

        corner_opts = {
            "labels": sampler.labels,
            "truths": MLp,
            "quantiles": [0.16, 0.5, 0.84],
            "verbose": False,
            "truth_color": color_cycle[0],
        }

        corner_opts.update(kwargs)

        f = corner(sampler.flatchain, **corner_opts)
    except ImportError:
        log.warning(
            "The corner package is not installed;" " corner plot not available"
        )
        f = None

    plt.rcParams["lines.linewidth"] = oldlw

    return f