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

lines

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

lines(positions)
lines(x, y)
lines(x, y, z)

Создает связный линейный график для каждого элемента в (x, y, z), (x, y) или positions.

Значения NaN отображаются как разрывы в линии.

Тип графика

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

Работа с артефактами контуров в GLMakie

В GLMakie трехмерные линейные графики могут генерировать артефакты контуров в зависимости от порядка отрисовки сегментов линий. В настоящее время существует несколько способов устранения этой проблемы, но все они связаны с определенными затратами.

  • fxaa = true отключит собственное сглаживание сегментов линий и будет использовать вместо него fxaa. В результате получаются менее детализированные линии.

  • transparency = true в некоторой степени отключит тестирование глубины, в результате чего все линии будут отображаться без артефактов. Однако при этом линии всегда будут иметь определенный уровень прозрачности.

  • overdraw = true полностью отключит тестирование глубины (чтение и запись) для графика и удалит артефакты. Однако при этом изменится z-порядок сегментов линий, и отрисованные позже графики будут отображаться поверх линейного графика.

using GLMakie
ps = rand(Point3f, 500)
cs = rand(500)
f = Figure(size = (600, 650))
Label(f[1, 1], "base", tellwidth = false)
lines(f[2, 1], ps, color = cs, fxaa = false)
Label(f[1, 2], "fxaa = true", tellwidth = false)
lines(f[2, 2], ps, color = cs, fxaa = true)
Label(f[3, 1], "transparency = true", tellwidth = false)
lines(f[4, 1], ps, color = cs, transparency = true)
Label(f[3, 2], "overdraw = true", tellwidth = false)
lines(f[4, 2], ps, color = cs, overdraw = true)
f
b9f8fb2

Атрибуты

alpha

Значение по умолчанию: 1.0

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

clip_planes

Значение по умолчанию: automatic

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

color

Значение по умолчанию: @inherit linecolor

Цвет линии.

using CairoMakie
fig = Figure()
ax = Axis(fig[1, 1], yautolimitmargin = (0.1, 0.1), xautolimitmargin = (0.1, 0.1))
hidedecorations!(ax)

lines!(ax, 1:9, iseven.(1:9) .- 0; color = :tomato)
lines!(ax, 1:9, iseven.(1:9) .- 1; color = (:tomato, 0.5))
lines!(ax, 1:9, iseven.(1:9) .- 2; color = 1:9)
lines!(ax, 1:9, iseven.(1:9) .- 3; color = 1:9, colormap = :plasma)
lines!(ax, 1:9, iseven.(1:9) .- 4; color = RGBf.(0, (0:8) ./ 8, 0))
fig
e28d6a4

colormap

Значение по умолчанию: @inherit colormap :viridis

Устанавливает цветовую схему, которая выбирается для числовых значений. colors. 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]

Задает, какие атрибуты будут циклически использоваться при создании нескольких графиков.

depth_shift

Значение по умолчанию: 0.0

настраивает значение глубины участка после всех других преобразований, т.е. в пространстве клипа, где 0 <= depth <= 1. This only applies to GLMakie and WGLMakie and can be used to adjust render order (like a tunable overdraw).

fxaa

Значение по умолчанию: false

Регулирует, будет ли график отображаться с использованием fxaa (сглаживание, только GLMakie).

highclip

Значение по умолчанию: automatic

Цвет для любого значения, превышающего цветовой диапазон.

inspectable

Значение по умолчанию: @inherit inspectable

Определяет, должен ли этот сюжет отображаться пользователем DataInspector. Значение по умолчанию зависит от темы родительской сцены.

inspector_clear

Значение по умолчанию: automatic

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

inspector_hover

Значение по умолчанию: automatic

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

inspector_label

Значение по умолчанию: automatic

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

joinstyle

Значение по умолчанию: @inherit joinstyle

Управляет отображением в углах. Есть опции :miter для острых углов, :bevel для "срезанных" углов и :round для закругленных углов. Если угол наклона меньше miter_limit, :miter , это эквивалентно :bevel , чтобы избежать длинных шипов.

using CairoMakie

fig = Figure()
ax = Axis(fig[1, 1], yautolimitmargin = (0.05, 0.15))
hidedecorations!(ax)

joinstyles = [:miter, :bevel, :round]
for (i, joinstyle) in enumerate(joinstyles)
    x = (1:3) .+ 5 * (i - 1)
    ys = [[0.5, 3.5, 0.5], [3, 5, 3], [5, 6, 5], [6.5, 7, 6.5]]
    for y in ys
        lines!(ax, x, y; linewidth = 15, joinstyle, color = :black)
    end
    text!(ax, x[2], ys[end][2], text = ":$joinstyle",
        align = (:center, :bottom), offset = (0, 15), font = :bold)
end

text!(ax, 4.5, 4.5, text = "for angles
below miter_limit,
:miter == :bevel",
    align = (:center, :center))

fig
337d35d

linecap

Значение по умолчанию: @inherit linecap

Задает тип используемой заглушки строки. Возможны следующие варианты :butt (плоский без выдавливания), :square (плоский с выдавливанием на половину ширины линии) или :round.

using CairoMakie
fig = Figure()
ax = Axis(fig[1, 1], yautolimitmargin = (0.2, 0.2), xautolimitmargin = (0.2, 0.2))
hidedecorations!(ax)

linecaps = [:butt, :square, :round]
for (i, linecap) in enumerate(linecaps)
    lines!(ax, [i, i]; color = :tomato, linewidth = 15, linecap)
    lines!(ax, [i, i]; color = :black, linewidth = 15, linecap = :butt)
    text!(1.5, i, text = ":$linecap", font = :bold,
        align = (:center, :bottom), offset = (0, 15))
end
fig
15dba7f

linestyle

Значение по умолчанию: nothing

Задает расположение штрихов на линии. Параметры :solid (эквивалентны nothing), :dot, :dash, :dashdot и :dashdotdot. Они также могут быть заданы в виде кортежа с модификатором стиля пробела, либо :normal, :dense или :loose Например,, (:dot, :loose) или (:dashdot, :dense).

Пользовательские шаблоны можно найти на странице Makie.Linestyle.

using CairoMakie
linestyles = [:solid, :dot, :dash, :dashdot, :dashdotdot]
gapstyles = [:normal, :dense, :loose, 10]
fig = Figure()
with_updates_suspended(fig.layout) do
    for (i, ls) in enumerate(linestyles)
        for (j, gs) in enumerate(gapstyles)
            title = gs === :normal ? repr(ls) : "$((ls, gs))"
            ax = Axis(fig[i, j]; title, yautolimitmargin = (0.2, 0.2))
            hidedecorations!(ax)
            hidespines!(ax)
            linestyle = (ls, gs)
            for linewidth in 1:3
                lines!(ax, 1:10, fill(linewidth, 10); linestyle, linewidth)
            end
        end
    end
end
fig
993da4b

using CairoMakie
fig = Figure()
patterns = [
    [0, 1, 2],
    [0, 20, 22],
    [0, 2, 4, 12, 14],
    [0, 2, 4, 6, 8, 10, 20],
    [0, 1, 2, 4, 6, 9, 12],
    [0.0, 4.0, 6.0, 9.5],
]
ax = Axis(fig[1, 1], yautolimitmargin = (0.2, 0.2))
for (i, pattern) in enumerate(patterns)
    lines!(ax, [-i, -i], linestyle = Linestyle(pattern), linewidth = 4)
    text!(ax, (1.5, -i), text = "Linestyle($pattern)",
        align = (:center, :bottom), offset = (0, 10))
end
hidedecorations!(ax)
fig
b7d9a4c

linewidth

Значение по умолчанию: @inherit linewidth

Задает ширину строки в экранных единицах измерения

using CairoMakie
fig = Figure()
ax = Axis(fig[1, 1], yautolimitmargin = (0.2, 0.2), xautolimitmargin = (0.1, 0.1))
hidedecorations!(ax)

for linewidth in 1:10
    lines!(ax, iseven.(1:9) .+ linewidth, 1:9; color = :black, linewidth)
    text!(ax, linewidth + 0.5, 9; text = "$linewidth", font = :bold,
        align = (:center, :bottom), offset = (0, 15))
end
fig
8419c37

lowclip

Значение по умолчанию: automatic

Цвет для любого значения ниже цветового диапазона.

miter_limit

Значение по умолчанию: @inherit miter_limit

Устанавливает минимальный внутренний угол соединения, ниже которого торцевые соединения будут обрезаться. Смотрите также Makie.miter_distance_to_angle.

model

Значение по умолчанию: automatic

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

nan_color

Значение по умолчанию: :transparent

Цвет для значений NaN.

overdraw

Значение по умолчанию: false

Определяет, будет ли график отображаться поверх других графиков. В частности, это означает игнорирование проверок глубины в GL-интерфейсах

space

Значение по умолчанию: :data

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

ssao

Значение по умолчанию: false

Настраивает, будет ли отображаться график с помощью ssao (сглаживания окружающего пространства экрана). Обратите внимание, что это имеет смысл только для 3D-графиков и применимо только к fxaa = true.

transformation

Значение по умолчанию: :automatic

Документация недоступна.

transparency

Значение по умолчанию: false

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

visible

Значение по умолчанию: true

Определяет, будет ли отображаться график или нет.