def METHOD_NAME(data) -> None:
    cmap = cm.get_cmap("viridis")
    connectivity = {}
    for im1 in images:
        for im2, matches in data.load_matches(im1).items():
            if len(matches) == 0:
                continue
            connectivity[tuple(sorted([im1, im2]))] = len(matches)
    all_values = connectivity.values()
    lowest = np.percentile(list(all_values), 5)
    highest = np.percentile(list(all_values), 95)
    exifs = {im: data.load_exif(im) for im in data.images()}
    reference = data.load_reference()
    for (node1, node2), edge in sorted(connectivity.items(), key=lambda x: x[1]):
        gps1 = exifs[node1]["gps"]
        o1 = np.array(
            reference.to_topocentric(gps1["latitude"], gps1["longitude"], 0)[:2]
        )
        gps2 = exifs[node2]["gps"]
        o2 = np.array(
            reference.to_topocentric(gps2["latitude"], gps2["longitude"], 0)[:2]
        )
        c = max(0, min(1.0, 1 - (edge - lowest) / (highest - lowest)))
        pl.plot([o1[0], o2[0]], [o1[1], o2[1]], linestyle="-", color=cmap(c))
    for node in data.images():
        gps = exifs[node]["gps"]
        o = np.array(reference.to_topocentric(gps["latitude"], gps["longitude"], 0)[:2])
        c = 0
        pl.plot(o[0], o[1], linestyle="", marker="o", color=cmap(c))
    pl.xticks([])
    pl.yticks([])
    ax = pl.gca()
    for b in ["top", "bottom", "left", "right"]:
        ax.spines[b].set_visible(False)
    pl.savefig(os.path.join(data.data_path, "matchgraph.png"))