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

violin

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

violin(x, y)

Отрисовывает график «скрипка».

Аргументы

  • x: позиции категорий.

  • y: величины, плотность которых вычисляется.

Тип графика

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

Примеры

using CairoMakie
categories = rand(1:3, 1000)
values = randn(1000)

violin(categories, values)
6ae3b05

using CairoMakie
fig = Figure()
xs = vcat([fill(i, i * 1000) for i in 1:4]...)
ys = vcat(randn(6000), randn(4000) * 2)
for (i, scale) in enumerate([:area, :count, :width])
    ax = Axis(fig[i, 1])
    violin!(ax, xs, ys; scale, show_median=true)
    Makie.xlims!(0.2, 4.8)
    ax.title = "scale=:$(scale)"
end
fig
bf94094

using CairoMakie
categories = rand(1:3, 1000)
values = map(categories) do x
    return x == 1 ? randn() : x == 2 ? 0.5 * randn() : 5 * rand()
end

violin(categories, values, datalimits = extrema)
901f5d7

using CairoMakie
N = 1000
categories = rand(1:3, N)
dodge = rand(1:2, N)
side = rand([:left, :right], N)
color = @. ifelse(side === :left, :orange, :teal)
values = map(side) do s
    return s === :left ? randn() : rand()
end

violin(categories, values, dodge = dodge, side = side, color = color)
a8266a9

using CairoMakie
N = 1000
categories = rand(1:3, N)
side = rand([:left, :right], N)
color = map(categories, side) do x, s
    colors = s === :left ? [:red, :orange, :yellow] : [:blue, :teal, :cyan]
    return colors[x]
end
values = map(side) do s
    return s === :left ? randn() : rand()
end

violin(categories, values, side = side, color = color)
1afbfec

Использование статистических весов

using CairoMakie
using Distributions

N = 100_000
categories = rand(1:3, N)
values = rand(Uniform(-1, 5), N)

w = pdf.(Normal(), categories .- values)

fig = Figure()

violin(fig[1,1], categories, values)
violin(fig[1,2], categories, values, weights = w)

fig
355f4a2

Горизонтальная ось

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", # Обратите внимание, что x/y по-прежнему соответствуют горизонтальной/вертикальной осям, соответственно.
    ylabel="categories",
    yticks=(1:3, ["one", "two", "three"])
)

# Примечание. Одинаковый порядок категорий/значений, несмотря на разные оси.
violin!(ax_vert, categories, values) # По умолчанию используется `orientation=:vertical`
violin!(ax_horiz, categories, values; orientation=:horizontal)

fig
9580983

Атрибуты

bandwidth

Значение по умолчанию: automatic
документация недоступна.

boundary

Значение по умолчанию: automatic
документация недоступна.

clip_planes

Значение по умолчанию: automatic
плоскости отсечения позволяют выполнять отсечение в трехмерном пространстве. Здесь можно указать вектор из 8 плоскостей Plane3f, за которыми графики будут отсечены (т. е. станут невидимыми). По умолчанию плоскости отсечения наследуются от родительского графика или сцены. Чтобы удалить родительский объект clip_planes, передайте Plane3f[].

color

Значение по умолчанию: @inherit patchcolor
документация недоступна.

cycle

Значение по умолчанию: [:color => :patchcolor]
документация недоступна.

datalimits

Значение по умолчанию: (-Inf, Inf)
задает значения для обрезки violin. Может иметь тип Tuple или Function (например, datalimits=extrema).

depth_shift

Значение по умолчанию: 0.0
корректирует значение глубины графика после всех остальных преобразований, т. е. в пространстве отсечения, где 0 <= depth <= 1. Применимо только к GLMakie и WGLMakie и может использоваться для настройки порядка отрисовки (настраиваемая перерисовка).

dodge

Значение по умолчанию: automatic
документация недоступна.

dodge_gap

Значение по умолчанию: 0.03
документация недоступна.

fxaa

Значение по умолчанию: true
определяет то, будет ли график отрисовываться с помощью fxaa (сглаживание, только GLMakie).

gap

Значение по умолчанию: 0.2
коэффициент сжатия, width -> width * (1 - gap).

inspectable

Значение по умолчанию: true
определяет, должен ли график проверяться с помощью DataInspector.

inspector_clear

Значение по умолчанию: automatic
задает функцию обратного вызова (inspector, plot) -> ... для очистки пользовательских индикаторов в DataInspector.

inspector_hover

Значение по умолчанию: automatic
задает функцию обратного вызова (inspector, plot, index) -> ..., которая заменяет методы show_data по умолчанию.

inspector_label

Значение по умолчанию: automatic
задает функцию обратного вызова (plot, index, position) -> string, которая заменяет метку по умолчанию, сгенерированную DataInspector.

max_density

Значение по умолчанию: automatic
документация недоступна.

mediancolor

Значение по умолчанию: @inherit linecolor
документация недоступна.

medianlinewidth

Значение по умолчанию: @inherit linewidth
документация недоступна.

model

Значение по умолчанию: automatic
задает модельную матрицу для графика. Переопределяет настройки, выполненные с помощью translate!, rotate! и scale!.

n_dodge

Значение по умолчанию: automatic
документация недоступна.

npoints

Значение по умолчанию: 200
документация недоступна.

orientation

Значение по умолчанию: :vertical
ориентация скрипок (:vertical или :horizontal).

overdraw

Значение по умолчанию: false
определяет то, будет ли график отрисовываться поверх других графиков. В частности, это означает игнорирование проверок глубины в бэкендах GL.

scale

Значение по умолчанию: :area
масштабирование плотности по площади (:area), количеству (:count) или ширине (:width).

show_median

Значение по умолчанию: false
показывать медиану как среднюю линию.

side

Значение по умолчанию: :both
укажите :left или :right для построения скрипки только с одной стороны.

space

Значение по умолчанию: :data
задает пространство преобразования для прямоугольника, охватывающего график. Возможные входные данные см. в описании Makie.spaces().

ssao

Значение по умолчанию: false
определяет то, будет ли график отрисовываться с использованием ssao (преграждение окружающего света в экранном пространстве). Обратите внимание, что это имеет смысл только для трехмерных графиков и применимо только с fxaa = true.

strokecolor

Значение по умолчанию: @inherit patchstrokecolor
документация недоступна.

strokewidth

Значение по умолчанию: @inherit patchstrokewidth
документация недоступна.

transformation

Значение по умолчанию: automatic
документация недоступна.

transparency

Значение по умолчанию: false
определяет то, как реализуется прозрачность графика. В GLMakie transparency = true приводит к использованию прозрачности, независимой от порядка.

visible

Значение по умолчанию: true
определяет то, будет ли отрисовываться график.

weights

Значение по умолчанию: automatic
вектор статистических весов (длина данных). По умолчанию каждое наблюдение имеет вес 1.

width

Значение по умолчанию: automatic
ширина коробки перед сжатием.