Voronoi-Diagramm einfärben

Ich versuche ein mit erstelltes Voronoi-Diagramm einzufärbenscipy.spatial.Voronoi. Hier ist mein Code:

import numpy as np
import matplotlib.pyplot as plt
from scipy.spatial import Voronoi, voronoi_plot_2d

# make up data points
points = np.random.rand(15,2)

# compute Voronoi tesselation
vor = Voronoi(points)

# plot
voronoi_plot_2d(vor)

# colorize
for region in vor.regions:
    if not -1 in region:
        polygon = [vor.vertices[i] for i in region]
        plt.fill(*zip(*polygon))

plt.show()

Das resultierende Bild:

Wie Sie sehen können, sind einige der Voronoi-Regionen am Bildrand nicht farbig. Dies liegt daran, dass einige Indizes zu den Voronoi-Eckpunkten für diese Regionen auf gesetzt sind-1für jene Eckpunkte außerhalb des Voronoi-Diagramms. Nach den Dokumenten:

Regionen: (Liste der Liste der Ints, Form (Regionen, *)) Indizes der Voronoi-Eckpunkte, die jede Voronoi-Region bilden.-1 gibt den Scheitelpunkt außerhalb des Voronoi-Diagramms an.

Um auch diese Bereiche einzufärben, habe ich versucht, diese "äußeren" Eckpunkte aus dem Polygon zu entfernen, aber das hat nicht funktioniert. Ich denke, ich muss einige Punkte an der Grenze des Bildbereichs ausfüllen, aber ich kann nicht herausfinden, wie dies vernünftigerweise erreicht werden kann.

Kann jemand helfen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage