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

arrows

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

arrows(points, directions; kwargs...)
arrows(x, y, u, v)
arrows(x::AbstractVector, y::AbstractVector, u::AbstractMatrix, v::AbstractMatrix)
arrows(x, y, z, u, v, w)
arrows(x, y, [z], f::Function)

Строит стрелки в указанных точках с указанными компонентами. u и v интерпретируются как компоненты вектора (u — это x, а v — y), и векторы строятся с задними концами в точках x, y.

Если x, y, u, v — это <: AbstractVector, каждая «строка» отображается как один вектор.

Если u, v — это <: AbstractMatrix, то x и y интерпретируются как спецификации сетки и u, v строятся как стрелки вдоль сетки.

arrows также может работать в трех измерениях.

Если вместо u, v, [w] предоставлена функция (Function), она должна принимать Point в качестве входных данных и возвращать Point, Vec или другой подобный массиву объект соответствующей размерности.

Тип графика

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

Примеры

using CairoMakie
f = Figure(size = (800, 800))
Axis(f[1, 1], backgroundcolor = "black")

xs = LinRange(0, 2pi, 20)
ys = LinRange(0, 3pi, 20)
us = [sin(x) * cos(y) for x in xs, y in ys]
vs = [-cos(x) * sin(y) for x in xs, y in ys]
strength = vec(sqrt.(us .^ 2 .+ vs .^ 2))

arrows!(xs, ys, us, vs, arrowsize = 10, lengthscale = 0.3,
    arrowcolor = strength, linecolor = strength)

f
53dbf04

using GLMakie
ps = [Point3f(x, y, z) for x in -5:2:5 for y in -5:2:5 for z in -5:2:5]
ns = map(p -> 0.1 * Vec3f(p[2], p[3], p[1]), ps)
arrows(
    ps, ns, fxaa=true, # включение сглаживания
    linecolor = :gray, arrowcolor = :black,
    linewidth = 0.1, arrowsize = Vec3f(0.3, 0.3, 0.4),
    align = :center, axis=(type=Axis3,)
)
fc43492

using GLMakie
using LinearAlgebra

ps = [Point3f(x, y, z) for x in -5:2:5 for y in -5:2:5 for z in -5:2:5]
ns = map(p -> 0.1 * Vec3f(p[2], p[3], p[1]), ps)
lengths = norm.(ns)
arrows(
    ps, ns, fxaa=true, # включение сглаживания
    color=lengths,
    linewidth = 0.1, arrowsize = Vec3f(0.3, 0.3, 0.4),
    align = :center, axis=(type=Axis3,)
)
31b8099

arrows также может принимать функцию f(x::Point{N})::Point{N}, которая возвращает вектор стрелки, если задано ее начало.

using CairoMakie
fig = Figure(size = (800, 800))
ax = Axis(fig[1, 1], backgroundcolor = "black")
xs = LinRange(0, 2pi, 20)
ys = LinRange(0, 3pi, 20)
# явный метод
us = [sin(x) * cos(y) for x in xs, y in ys]
vs = [-cos(x) * sin(y) for x in xs, y in ys]
strength = vec(sqrt.(us .^ 2 .+ vs .^ 2))
# метод функции
arrow_fun(x) = Point2f(sin(x[1])*cos(x[2]), -cos(x[1])*sin(x[2]))
arrows!(ax, xs, ys, arrow_fun, arrowsize = 10, lengthscale = 0.3,
    arrowcolor = strength, linecolor = strength)
fig
483571e

Атрибуты

align

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

Задает расположение стрелок. По умолчанию стрелки начинаются в заданных положениях и проходят вдоль заданных направлений. Если для этого атрибута задано значение :head, :lineend, :tailend, :headstart или :center вместо этого заданные позиции будут находиться между началом и концом каждой стрелки.

alpha

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

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

arrowcolor

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

Задает цвет головки стрелки. Скопирует color если установлено значение automatic.

arrowhead

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

Определяет маркер (2D) или сетку (3D), которые используются в качестве начертания стрелки. По умолчанию используется '▲' в 2D и конусообразная сетка в 3D. В последнем случае сетка должна начинаться с точки Point3f(0) и указывать в положительном направлении по оси z.

arrowsize

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

Масштабирует размер головки стрелки. По умолчанию это значение равно 0.3 в двумерном случае и Vec3f(0.2, 0.2, 0.3) в трехмерном случае. В последнем случае первые два компонента масштабируют радиус (в направлении x/y), а последний - длину конуса. Если для параметра arrowsize задано значение 1, диаметр и длина конуса будут равны 1.

arrowtail

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

Определяет сетку, используемую для рисования конца стрелки в 3D. Она должна начинаться с точки Point3f(0) и продолжаться в отрицательном направлении по оси z. По умолчанию используется цилиндр. Это не влияет на 2D-график.

backlight

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

Устанавливает вес для расчета вторичного освещения с использованием перевернутых нормалей.

clip_planes

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

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

color

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

Задает цвет стрелок и линий. Может быть переопределен отдельно с помощью linecolor и arrowcolor.

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.

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).

diffuse

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

Определяет, насколько сильно красный, зеленый и синий каналы реагируют на рассеянный (рассеянный) свет.

fxaa

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

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

highclip

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

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

inspectable

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

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

inspector_clear

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

Sets a callback function (inspector, plot) -> ... для очистки пользовательских индикаторов в DataInspector.

inspector_hover

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

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

inspector_label

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

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

lengthscale

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

Масштабирует длину хвостика стрелки.

linecolor

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

Задает цвет, используемый для конца стрелки, который представлен линией в 2D. Будет скопирован color если установлено значение automatic.

linestyle

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

Задает стиль линии, используемый в 2D. Не относится к 3D-графикам.

linewidth

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

Масштабирует ширину/диаметр хвостика стрелки. Значение по умолчанию: 1 для 2D и 0.05 для 3D случая.

lowclip

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

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

markerspace

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

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

material

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

Атрибут RPRMakie используется только для установки сложных материалов RadeonProRender. Предупреждаю, что способ установки материала RPR может измениться, и другие серверные системы будут игнорировать этот атрибут

model

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

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

nan_color

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

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

normalize

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

По умолчанию длины направлений, указанные в arrows , используются для масштабирования длины концов стрелок. Если для этого атрибута установлено значение true, направления нормализуются без учета этого масштабирования.

overdraw

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

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

quality

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

Определяет количество угловых делений, используемых при создании верхней и задней сеток стрелок. При возникновении проблем с производительностью рекомендуется уменьшить это значение. Применяется только к 3D-графикам.

shading

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

Задает используемый алгоритм освещения. Возможны следующие варианты NoShading (без освещения), FastShading (Окружающий свет + точечный свет) или MultiLightShading (Несколько источников света, только GLMakie). Обратите внимание, что это не влияет на RPRMakie.

shininess

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

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

space

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

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

specular

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

Определяет, насколько сильно объект отражает свет в красном, зеленом и синем каналах.

ssao

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

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

transform_marker

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

Определяет, будут ли атрибуты маркера преобразованы матрицей модели.

transformation

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

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

transparency

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

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

visible

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

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