# poly

``````poly(vertices, indices; kwargs...)
poly(points; kwargs...)
poly(shape; kwargs...)
poly(mesh; kwargs...)``````

Plots a polygon based on the arguments given. When vertices and indices are given, it functions similarly to `mesh`. When points are given, it draws one polygon that connects all the points in order. When a shape is given (essentially anything decomposable by `GeometryBasics`), it will plot `decompose(shape)`.

``poly(coordinates, connectivity; kwargs...)``

Plots polygons, which are defined by `coordinates` (the coordinates of the vertices) and `connectivity` (the edges between the vertices).

## Attributes

Available attributes and their defaults for `MakieCore.Combined{Makie.poly, T} where T` are:

``````  color         RGBA{Float32}(0.0f0,0.0f0,0.0f0,0.6f0)
colormap      :viridis
colorrange    MakieCore.Automatic()
cycle         [:color => :patchcolor]
inspectable   true
linestyle     "nothing"
overdraw      false
strokecolor   :black
strokewidth   0
transparency  false
visible       true``````

### Examples

``````using CairoMakie
using Makie.GeometryBasics

f = Figure()
Axis(f[1, 1])

poly!(Point2f[(0, 0), (2, 0), (3, 1), (1, 1)], color = :red, strokecolor = :black, strokewidth = 1)

f`````` ``````using CairoMakie
using Makie.GeometryBasics

f = Figure()
Axis(f[1, 1])

# polygon with hole
p = Polygon(
Point2f[(0, 0), (2, 0), (3, 1), (1, 1)],
[Point2f[(0.75, 0.25), (1.75, 0.25), (2.25, 0.75), (1.25, 0.75)]]
)

poly!(p, color = :blue)

f`````` ``````using CairoMakie
using Makie.GeometryBasics

f = Figure()
Axis(f[1, 1])

# vector of shapes
poly!(
[Rect(i, j, 0.75, 0.5) for i in 1:5 for j in 1:3],
color = 1:15,
colormap = :heat
)

f`````` ``````using CairoMakie
using Makie.GeometryBasics

f = Figure()
Axis(f[1, 1], aspect = DataAspect())

# shape decomposition
poly!(Circle(Point2f(0, 0), 15f0), color = :pink)

f`````` ``````using CairoMakie
using Makie.GeometryBasics

f = Figure()
Axis(f[1, 1])

# vector of polygons
ps = [Polygon(rand(Point2f, 3) .+ Point2f(i, j))
for i in 1:5 for j in 1:10]

poly!(ps, color = rand(RGBf, length(ps)),
axis = (backgroundcolor = :gray15,))

f`````` 