voronoiplot
|
Страница в процессе перевода. |
#
Makie.voronoiplot — Function
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
Для генерации ячеек 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
В случае со стандартными мозаичными диаграммами неограниченные многоугольники обрезаются по ограничивающему прямоугольнику, определяемому автоматически по умолчанию, или по заданной пользователем форме обрезки (прямоугольник или круг). Автоматический ограничивающий прямоугольник определяется ограничивающим прямоугольником генераторов тесселяции (то есть предоставленных точек), расширенным на некоторый коэффициент 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
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
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
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
Атрибуты
alpha
Значение по умолчанию: 1.0
альфа-значение цветовой карты или атрибута цвета. Несколько альфа-значений, как в 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
задает цветовую карту, из которой производится выборка для числовых значений color. Также можно использовать 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.