def METHOD_NAME(results_path, models):
    try:
        if len(models) < 2:
            return
        names = []
        oofs = []
        for m in models:
            names += [m.get_name()]
            oofs += [m.get_out_of_folds()]
        corrs = np.ones((len(names), len(names)))
        for i in range(len(names)):
            for j in range(i + 1, len(names)):
                corrs[i, j] = corrs[j, i] = AutoMLPlots.correlation(
                    oofs[i], oofs[j]
                )
        figsize = (15, 15) if len(names) > 25 else (10, 10)
        fig, ax = plt.subplots(1, 1, figsize=figsize)
        image = ax.imshow(
            corrs,
            interpolation="nearest",
            cmap=plt.cm.get_cmap("Blues"),
            aspect="auto",
        )
        plt.colorbar(mappable=image)
        x_tick_marks = np.arange(len(names))
        y_tick_marks = np.arange(len(names))
        ax.set_xticks(x_tick_marks)
        ax.set_xticklabels(names, rotation=90)
        ax.set_yticks(y_tick_marks)
        ax.set_yticklabels(names)
        ax.set_title("Spearman Correlation of Models")
        plt.tight_layout(pad=2.0)
        plot_path = os.path.join(
            results_path, AutoMLPlots.correlation_heatmap_fname
        )
        plt.savefig(plot_path)
        plt.close("all")
    except Exception as e:
        pass