lines
|
Страница в процессе перевода. |
#
MakieCore.lines — Function
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
Атрибуты
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
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).
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
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
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
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
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
miter_limit
Значение по умолчанию: @inherit miter_limit
Устанавливает минимальный внутренний угол соединения, ниже которого торцевые соединения будут обрезаться. Смотрите также Makie.miter_distance_to_angle.
model
Значение по умолчанию: automatic
Задает матрицу модели для построения графика. Это отменяет корректировки, сделанные с помощью translate!, rotate! и scale!.
overdraw
Значение по умолчанию: false
Определяет, будет ли график отображаться поверх других графиков. В частности, это означает игнорирование проверок глубины в GL-интерфейсах
space
Значение по умолчанию: :data
задает область преобразования для прямоугольника, охватывающего участок. Видеть Makie.spaces() для получения возможных исходных данных.
ssao
Значение по умолчанию: false
Настраивает, будет ли отображаться график с помощью ssao (сглаживания окружающего пространства экрана). Обратите внимание, что это имеет смысл только для 3D-графиков и применимо только к fxaa = true.