Koloruj diagram Voronoi

Próbuję ubarwić utworzony diagram Voronoiscipy.spatial.Voronoi. Oto mój kod:

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()

Wynikowy obraz:

Jak widać niektóre regiony Voronoi na granicy obrazu nie są kolorowe. Jest tak, ponieważ niektóre indeksy wierzchołków Voronoi dla tych regionów są ustawione na-1, tj. dla tych wierzchołków poza diagramem Voronoi. Zgodnie z dokumentami:

regiony: (lista list intów, kształtów (nregions, *)) Wskaźniki wierzchołków Voronoi tworzących każdy region Voronoi.-1 wskazuje wierzchołek poza diagramem Voronoi.

Aby kolorować te regiony, próbowałem usunąć te „zewnętrzne” wierzchołki z wielokąta, ale to nie zadziałało. Myślę, że muszę wypełnić kilka punktów na granicy regionu obrazu, ale nie mogę zrozumieć, jak to osiągnąć.

Czy ktoś może pomóc?

questionAnswers(2)

yourAnswerToTheQuestion