violin
|
Страница в процессе перевода. |
#
Makie.violin — Function
violin(x, y)
Отрисовывает график «скрипка».
Аргументы
-
x: позиции категорий. -
y: величины, плотность которых вычисляется.
Тип графика
Псевдоним типа графика для функции violin — Violin.
Примеры
using CairoMakie
categories = rand(1:3, 1000)
values = randn(1000)
violin(categories, values)
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
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)
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)
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)
Использование статистических весов
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
Горизонтальная ось
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
Атрибуты
clip_planes
Значение по умолчанию: automatic
плоскости отсечения позволяют выполнять отсечение в трехмерном пространстве. Здесь можно указать вектор из 8 плоскостей Plane3f, за которыми графики будут отсечены (т. е. станут невидимыми). По умолчанию плоскости отсечения наследуются от родительского графика или сцены. Чтобы удалить родительский объект clip_planes, передайте Plane3f[].
datalimits
Значение по умолчанию: (-Inf, Inf)
задает значения для обрезки violin. Может иметь тип Tuple или Function (например, datalimits=extrema).
depth_shift
Значение по умолчанию: 0.0
корректирует значение глубины графика после всех остальных преобразований, т. е. в пространстве отсечения, где 0 <= depth <= 1. Применимо только к GLMakie и WGLMakie и может использоваться для настройки порядка отрисовки (настраиваемая перерисовка).
fxaa
Значение по умолчанию: true
определяет то, будет ли график отрисовываться с помощью fxaa (сглаживание, только GLMakie).
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.
model
Значение по умолчанию: automatic
задает модельную матрицу для графика. Переопределяет настройки, выполненные с помощью translate!, rotate! и scale!.
overdraw
Значение по умолчанию: false
определяет то, будет ли график отрисовываться поверх других графиков. В частности, это означает игнорирование проверок глубины в бэкендах GL.
scale
Значение по умолчанию: :area
масштабирование плотности по площади (:area), количеству (:count) или ширине (:width).
side
Значение по умолчанию: :both
укажите :left или :right для построения скрипки только с одной стороны.
space
Значение по умолчанию: :data
задает пространство преобразования для прямоугольника, охватывающего график. Возможные входные данные см. в описании Makie.spaces().
ssao
Значение по умолчанию: false
определяет то, будет ли график отрисовываться с использованием ssao (преграждение окружающего света в экранном пространстве). Обратите внимание, что это имеет смысл только для трехмерных графиков и применимо только с fxaa = true.
transparency
Значение по умолчанию: false
определяет то, как реализуется прозрачность графика. В GLMakie transparency = true приводит к использованию прозрачности, независимой от порядка.