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

barplot

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

barplot(positions, heights; kwargs...)

Строит столбчатый график.

Тип графика

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

Примеры

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

xs = 1:0.2:10
ys = 0.5 .* sin.(xs)

barplot!(xs, ys, color = :red, strokecolor = :black, strokewidth = 1)
barplot!(xs, ys .- 1, fillto = -1, color = xs, strokecolor = :black, strokewidth = 1)

f
4bbbb9a

using CairoMakie
xs = 1:0.2:10
ys = 0.5 .* sin.(xs)

barplot(xs, ys, gap = 0, color = :gray85, strokecolor = :black, strokewidth = 1)
864a585

using CairoMakie
tbl = (cat = [1, 1, 1, 2, 2, 2, 3, 3, 3],
       height = 0.1:0.1:0.9,
       grp = [1, 2, 3, 1, 2, 3, 1, 2, 3],
       grp1 = [1, 2, 2, 1, 1, 2, 1, 1, 2],
       grp2 = [1, 1, 2, 1, 2, 1, 1, 2, 1]
       )

barplot(tbl.cat, tbl.height,
        stack = tbl.grp,
        color = tbl.grp,
        axis = (xticks = (1:3, ["left", "middle", "right"]),
                title = "Stacked bars"),
        )
4cb7993

barplot(tbl.cat, tbl.height,
        dodge = tbl.grp,
        color = tbl.grp,
        axis = (xticks = (1:3, ["left", "middle", "right"]),
                title = "Dodged bars"),
        )
7a96176

barplot(tbl.cat, tbl.height,
        dodge = tbl.grp1,
        stack = tbl.grp2,
        color = tbl.grp,
        axis = (xticks = (1:3, ["left", "middle", "right"]),
                title = "Dodged and stacked bars"),
        )
37ed452

colors = Makie.wong_colors()

# Рисунок и ось
fig = Figure()
ax = Axis(fig[1,1], xticks = (1:3, ["left", "middle", "right"]),
        title = "Dodged bars with legend")

# График
barplot!(ax, tbl.cat, tbl.height,
        dodge = tbl.grp,
        color = colors[tbl.grp])

# Условные обозначения
labels = ["group 1", "group 2", "group 3"]
elements = [PolyElement(polycolor = colors[i]) for i in 1:length(labels)]
title = "Groups"

Legend(fig[1,2], elements, labels, title)

fig
c0fedf2

barplot(
    tbl.cat, tbl.height,
    dodge = tbl.grp,
    color = tbl.grp,
    bar_labels = :y,
    axis = (xticks = (1:3, ["left", "middle", "right"]),
            title = "Dodged bars horizontal with labels"),
    colormap = [:red, :green, :blue],
    color_over_background=:red,
    color_over_bar=:white,
    flip_labels_at=0.85,
    direction=:x,
)
bed1898

using CairoMakie
barplot([-1, -0.5, 0.5, 1],
    bar_labels = :y,
    axis = (title="Fonts + flip_labels_at",),
    label_size = 20,
    flip_labels_at=(-0.8, 0.8),
    label_color=[:white, :green, :black, :white],
    label_formatter = x-> "Flip at $(x)?",
    label_offset = 10
)
8fbbb22

using CairoMakie
gantt = (
    machine = [1, 2, 1, 2],
    job = [1, 1, 2, 3],
    task = [1, 2, 3, 3],
    start = [1, 3, 3.5, 5],
    stop = [3, 4, 5, 6]
)

fig = Figure()
ax = Axis(
    fig[2,1],
    yticks = (1:2, ["A","B"]),
    ylabel = "Machine",
    xlabel = "Time"
)
xlims!(ax, 0, maximum(gantt.stop))

cmap = Makie.to_colormap(:tab10)

barplot!(
    gantt.machine,
    gantt.stop,
    fillto = gantt.start,
    direction = :x,
    color = gantt.job,
    colormap = cmap,
    colorrange = (1, length(cmap)),
    gap = 0.5,
    bar_labels = ["task #$i" for i in gantt.task],
    label_position = :center,
    label_color = :white,
    label = ["job #$i" => (; color = i) for i in unique(gantt.job)]
)

Legend(fig[1,1], ax, "Jobs", orientation=:horizontal, tellwidth = false, tellheight = true)

fig
6364c5a

Атрибуты

alpha

Значение по умолчанию: 1.0
альфа-значение цветовой карты или атрибута цвета. Несколько альфа-значений, как в plot(alpha=0.2, color=(:red, 0.5), перемножаются.

bar_labels

Значение по умолчанию: nothing
метки, добавляемые в конце каждого столбика.

clip_planes

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

color

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

color_over_background

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

color_over_bar

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

colormap

Значение по умолчанию: @inherit colormap :viridis
задает цветовую карту, из которой производится выборка для числовых значений color. Также можно использовать PlotUtils.cgrad(...), Makie.Reverse(any_colormap) или любой символ из ColorBrewer или PlotUtils. Чтобы увидеть все доступные цветовые градиенты, можно вызвать Makie.available_gradients().

colorrange

Значение по умолчанию: automatic
значения, представляющие начальную и конечную точки colormap.

colorscale

Значение по умолчанию: identity
функция преобразования цвета. Может быть любой функцией, но с Colorbar хорошо работают только identity, log, log2, log10, sqrt, logit, Makie.pseudolog10 и Makie.Symlog10.

cycle

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

depth_shift

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

direction

Значение по умолчанию: :y
определяет направление столбиков: :y (вертикальные) или :x (горизонтальные).

dodge

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

dodge_gap

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

fillto

Значение по умолчанию: automatic
определяет базовую линию столбиков. При значении по умолчанию automatic используется нулевая линия, если только столбчатый график не находится в Axis в логарифмическом масштабе. При логарифмическом масштабе значению по умолчанию automatic соответствует половина минимального значения, так как ноль является недопустимым значением для логарифмического масштаба.

flip_labels_at

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

fxaa

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

gap

Значение по умолчанию: 0.2
итоговая ширина столбиков рассчитывается по формуле w * (1 - gap), где w — ширина каждого столбика, определяемая атрибутом width.

highclip

Значение по умолчанию: automatic
цвет для любого значения выше цветового диапазона.

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.

label_align

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

label_color

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

label_font

Значение по умолчанию: @inherit font
шрифт меток столбиков.

label_formatter

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

label_offset

Значение по умолчанию: 5
расстояние от концов столбиков до меток в единицах экрана. Не действует при label_position = :center.

label_position

Значение по умолчанию: :end
положение метки каждого столбика относительно самого столбика. Возможные значения: :end и :center.

label_rotation

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

label_size

Значение по умолчанию: @inherit fontsize
размер шрифта меток столбиков.

lowclip

Значение по умолчанию: automatic
цвет для любого значения ниже цветового диапазона.

model

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

n_dodge

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

nan_color

Значение по умолчанию: :transparent
цвет для значений NaN.

offset

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

overdraw

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

space

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

ssao

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

stack

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

strokecolor

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

strokewidth

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

transformation

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

transparency

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

visible

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

width

Значение по умолчанию: automatic
ширина столбиков без зазоров. При значении automatic ширина w вычисляется как minimum(diff(sort(unique(positions))). Фактическая ширина столбиков вычисляется по формуле w * (1 - gap).