boxplot
boxplot(x, y; kwargs...)
Draw a Tukey style boxplot. The boxplot has 3 components:
a
crossbar
spanning the interquartile (IQR) range with a midline marking the medianan
errorbar
whose whiskers spanrange * iqr
points marking outliers, that is, data outside the whiskers
Arguments
x
: positions of the categoriesy
: variables within the boxes
Plot type
The plot type alias for the boxplot
function is BoxPlot
.
Attributes
color
= @inherit patchcolor
— No docs available.
colormap
= @inherit colormap
— No docs available.
colorrange
= automatic
— No docs available.
colorscale
= identity
— No docs available.
cycle
= [:color => :patchcolor]
— No docs available.
dodge
= automatic
— Vector of Integer
(length of data) of grouping variable to create multiple side-by-side boxes at the same x
position.
dodge_gap
= 0.03
— Spacing between dodged boxes.
gap
= 0.2
— Shrinking factor, width -> width * (1 - gap)
.
inspectable
= @inherit inspectable
— No docs available.
marker
= @inherit marker
— No docs available.
markersize
= @inherit markersize
— No docs available.
mediancolor
= @inherit linecolor
— No docs available.
medianlinewidth
= @inherit linewidth
— No docs available.
n_dodge
= automatic
— No docs available.
notchwidth
= 0.5
— Multiplier of width
for narrowest width of notch.
orientation
= :vertical
— Orientation of box (:vertical
or :horizontal
).
outliercolor
= automatic
— No docs available.
outlierstrokecolor
= @inherit markerstrokecolor
— No docs available.
outlierstrokewidth
= @inherit markerstrokewidth
— No docs available.
range
= 1.5
— Multiple of IQR controlling whisker length.
show_median
= true
— Show median as midline.
show_notch
= false
— Draw the notch.
show_outliers
= true
— Show outliers as points.
strokecolor
= @inherit patchstrokecolor
— No docs available.
strokewidth
= @inherit patchstrokewidth
— No docs available.
weights
= automatic
— Vector of statistical weights (length of data). By default, each observation has weight 1
.
whiskercolor
= @inherit linecolor
— No docs available.
whiskerlinewidth
= @inherit linewidth
— No docs available.
whiskerwidth
= 0.0
— Multiplier of width
for width of T's on whiskers, or :match
to match width
.
width
= automatic
— Width of the box before shrinking.
Examples
using CairoMakie
categories = rand(1:3, 1000)
values = randn(1000)
boxplot(categories, values)
using CairoMakie
categories = rand(1:3, 1000)
values = randn(1000)
dodge = rand(1:2, 1000)
boxplot(categories, values, dodge = dodge, show_notch = true, color = dodge)
Colors are customizable. The color
attribute refers to the color of the boxes, whereas outliercolor
refers to the color of the outliers. If not scalars (e.g. :red
), these attributes must have the length of the data. If outliercolor
is not provided, outliers will have the same color as their box, as shown above.
Note
For all indices corresponding to points within the same box, color
(but not outliercolor
) must have the same value.
using CairoMakie
categories = rand(1:3, 1000)
values = randn(1000)
dodge = rand(1:2, 1000)
boxplot(categories, values, dodge = dodge, show_notch = true, color = map(d->d==1 ? :blue : :red, dodge) , outliercolor = rand([:red, :green, :blue, :black, :yellow], 1000))
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()
boxplot(fig[1,1], x, y)
boxplot(fig[1,2], x, y, weights = w)
fig
Horizontal axis
using CairoMakie
fig = Figure()
categories = rand(1:3, 1000)
values = randn(1000)
ax_vert = Axis(fig[1,1];
xlabel = "categories",
ylabel = "values",
xticks = (1:3, ["one", "two", "three"])
)
ax_horiz = Axis(fig[1,2];
xlabel="values", # note that x/y still correspond to horizontal/vertical axes respectively
ylabel="categories",
yticks=(1:3, ["one", "two", "three"])
)
# Note: same order of category/value, despite different axes
boxplot!(ax_vert, categories, values) # `orientation=:vertical` is default
boxplot!(ax_horiz, categories, values; orientation=:horizontal)
fig
These docs were autogenerated using Makie: v0.21.0, GLMakie: v0.10.0, CairoMakie: v0.12.0, WGLMakie: v0.10.0