Документация Engee

voronoiplot

Страница в процессе перевода.

voronoiplot(x, y, values; kwargs...)
voronoiplot(values; kwargs...)
voronoiplot(x, y; kwargs...)
voronoiplot(positions; kwargs...)
voronoiplot(vorn::VoronoiTessellation; kwargs...)

Генерирует и строит мозаичную диаграмму Вороного на основе данных типа heatmap или точечных данных. Мозаику также можно передать напрямую как VoronoiTessellation из DelaunayTriangulation.jl.

Тип графика

Псевдоним типа графика для функции voronoiplot — Voronoiplot.

Примеры

voronoiplot генерирует ячейку для каждой переданной позиции, как и heatmap, однако форма ячеек может быть не только прямоугольной. Его можно вызвать с основанными на точках (как scatter или lines) или подобными heatmap входными данными.

using CairoMakie
using Random
Random.seed!(1234)


f = Figure(size=(1200, 450))
ax = Axis(f[1, 1])
voronoiplot!(ax, rand(Point2f, 50))

ax = Axis(f[1, 2])
voronoiplot!(ax, rand(10, 10), rand(10, 10), rand(10, 10))
f
d72a045

Для генерации ячеек voronoiplot использует мозаичную диаграмму Вороного из пакета DelaunayTriangulation.jl. Это можно сделать самостоятельно и напрямую построить возвращаемый объект VoronoiTessellation.

using CairoMakie
using DelaunayTriangulation

using Random
Random.seed!(1234)

points = rand(2, 50)
tri = triangulate(points)
vorn = voronoi(tri)
f, ax, tr = voronoiplot(vorn)
f
425ee0e

В случае со стандартными мозаичными диаграммами неограниченные многоугольники обрезаются по ограничивающему прямоугольнику, определяемому автоматически по умолчанию, или по заданной пользователем форме обрезки (прямоугольник или круг). Автоматический ограничивающий прямоугольник определяется ограничивающим прямоугольником генераторов тесселяции (то есть предоставленных точек), расширенным на некоторый коэффициент unbounded_edge_extension_factor (по умолчанию 0.1), пропорциональный длинам сторон прямоугольника.

using CairoMakie
using DelaunayTriangulation

using Random
Random.seed!(1234)

z = LinRange(0, 1, 250) .* exp.(LinRange(0, 16pi, 250) .* im)
f, ax, tr = voronoiplot(real(z), imag(z), unbounded_edge_extension_factor = 0.4, markersize = 7)
f
831424c

using CairoMakie
using DelaunayTriangulation

using Random
Random.seed!(1234)

x = LinRange(0, 16pi, 50)
y = sin.(x)
bb = BBox(-1, 16pi + 1, -30, 30) # (xmin, xmax, ymin, ymax)
f, ax, tr = voronoiplot(x, y, show_generators=false,
    clip=bb, color=:white, strokewidth=2)
f
e95b398

Для обрезанных и центроидальных тесселяций нет неограниченных многоугольников.

using CairoMakie
using DelaunayTriangulation

using Random
Random.seed!(1234)

points = [(0.0, 0.0), (1.0, 0.0), (1.0, 1.0), (0.0, 1.0)]
tri = triangulate(points)
refine!(tri; max_area = 0.001)
vorn = voronoi(tri, clip = true)
f, ax, tr = voronoiplot(vorn, show_generators = true, markersize = 13, marker = 'x')
f
c9f2bff

using CairoMakie
using DelaunayTriangulation

using Random
Random.seed!(1234)

angles = range(0, 2pi, length = 251)[1:end-1]
x = cos.(angles)
y = sin.(angles)
points = tuple.(x, y)
tri = triangulate(points)
refine!(tri; max_area = 0.001)
vorn = voronoi(tri, clip = true)
smooth_vorn = centroidal_smooth(vorn)
f, ax, tr = voronoiplot(smooth_vorn, show_generators=false)
f
b975f2d

Атрибуты

alpha

Значение по умолчанию: 1.0

Альфа-значение цветовой карты или атрибута color. Несколько букв, таких как в plot(alpha=0.2, color=(:red, 0.5), будут умножены.

clip

Значение по умолчанию: automatic

Задает область отсечения для сгенерированных полигонов, которая может быть Rect2 (или BBox), Tuple с записями (xmin, xmax, ymin, ymax) или как Circle. Все, что выходит за пределы указанной области, будет удалено. Если clip не задан, он определяется автоматически с помощью unbounded_edge_extension_factor как Rect.

color

Значение по умолчанию: automatic

Задает цвет полигонов. Если automatic, полигоны будут индивидуально раскрашены в соответствии с цветовой картой.

colormap

Значение по умолчанию: @inherit colormap :viridis

Устанавливает цветовую схему, которая выбирается для числовых значений. colors. PlotUtils.cgrad(...), Makie.Reverse(any_colormap) также можно использовать любой символ из ColorBrewer или PlotUtils. Чтобы просмотреть все доступные цветовые градиенты, вы можете позвонить по телефону Makie.available_gradients().

colorrange

Значение по умолчанию: automatic

Значения, представляющие начальную и конечную точки colormap.

colorscale

Значение по умолчанию: identity

Функция преобразования цвета. Может быть любой функцией, но хорошо работает только в сочетании с Colorbar для identity, log, log2, log10, sqrt, logit, Makie.pseudolog10 и Makie.Symlog10.

highclip

Значение по умолчанию: automatic

Цвет для любого значения, превышающего цветовой диапазон.

lowclip

Значение по умолчанию: automatic

Цвет для любого значения ниже цветового диапазона.

marker

Значение по умолчанию: @inherit marker

Задает форму точек.

markercolor

Значение по умолчанию: @inherit markercolor

Задает цвет точек.

markersize

Значение по умолчанию: @inherit markersize

Задает размер точек.

nan_color

Значение по умолчанию: :transparent

Цвет для значений NaN.

show_generators

Значение по умолчанию: true

Определяет, следует ли выводить на график отдельные генераторы.

smooth

Значение по умолчанию: false

Документация недоступна.

strokecolor

Значение по умолчанию: @inherit patchstrokecolor

Задает цвет штрихов полигонов.

strokewidth

Значение по умолчанию: 1.0

Задает ширину обводки многоугольника.

unbounded_edge_extension_factor

Значение по умолчанию: 0.1

Устанавливает коэффициент удлинения для неограниченных ребер, используемый в DelaunayTriangulation.polygon_bounds.