violin
violin(x, y; kwargs...)
Draw a violin plot.
Arguments
-
x
: positions of the categories -
y
: variables whose density is computed
Keywords
-
weights
: vector of statistical weights (length of data). By default, each observation has weight1
. -
orientation=:vertical
: orientation of the violins (:vertical
or:horizontal
) -
width=1
: width of the box before shrinking -
gap=0.2
: shrinking factor,width -> width * (1 - gap)
-
show_median=false
: show median as midline -
side=:both
: specify:left
or:right
to only plot the violin on one side -
datalimits
: specify values to trim theviolin
. Can be aTuple
or aFunction
(e.g.datalimits=extrema
)
Examples
using CairoMakie
xs = rand(1:3, 1000)
ys = randn(1000)
violin(xs, ys)
using CairoMakie
xs = rand(1:3, 1000)
ys = map(xs) do x
return x == 1 ? randn() : x == 2 ? 0.5 * randn() : 5 * rand()
end
violin(xs, ys, datalimits = extrema)
using CairoMakie
N = 1000
xs = rand(1:3, N)
dodge = rand(1:2, N)
side = rand([:left, :right], N)
color = @. ifelse(side == :left, :orange, :teal)
ys = map(side) do s
return s == :left ? randn() : rand()
end
violin(xs, ys, dodge = dodge, side = side, color = color)
using CairoMakie
N = 1000
xs = rand(1:3, N)
side = rand([:left, :right], N)
color = map(xs, side) do x, s
colors = s == :left ? [:red, :orange, :yellow] : [:blue, :teal, :cyan]
return colors[x]
end
ys = map(side) do s
return s == :left ? randn() : rand()
end
violin(xs, ys, side = side, color = color)
Using statistical weights
using CairoMakie, Distributions
N = 100_000
x = rand(1:3, N)
y = rand(Uniform(-1, 5), N)
w = pdf.(Normal(), x .- y)
fig = Figure()
violin(fig[1,1], x, y)
violin(fig[1,2], x, y, weights = w)
fig
These docs were autogenerated using Makie: v0.18.4, GLMakie: v0.7.4, CairoMakie: v0.9.4, WGLMakie: v0.7.4