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

contour

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

contour(x, y, z)
contour(z::Matrix)

Создает контурный график плоскости, охватывающей x::Vector, y::Vector, z::Matrix. Если указан только аргумент z::Matrix, индексы элементов в z будут использоваться в качестве местоположений x и y при построении контура.

Тип графика

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

Примеры

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

xs = LinRange(0, 10, 100)
ys = LinRange(0, 15, 100)
zs = [cos(x) * sin(y) for x in xs, y in ys]

contour!(xs, ys, zs)

f
e49dd73

Если опустить xs и ys, будут использоваться индексы zs. Также можно задать произвольные уровни контуров с помощью levels.

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

xs = LinRange(0, 10, 100)
ys = LinRange(0, 15, 100)
zs = [cos(x) * sin(y) for x in xs, y in ys]

contour!(zs,levels=-1:0.1:1)

f
36bd848

Можно также добавлять метки и управлять атрибутами меток, такими как labelsize, labelcolor или labelfont.

using CairoMakie
himmelblau(x, y) = (x^2 + y - 11)^2 + (x + y^2 - 7)^2
x = y = range(-6, 6; length=100)
z = himmelblau.(x, y')

levels = 10.0.^range(0.3, 3.5; length=10)
colorscale = ReversibleScale(x -> x^(1 / 10), x -> x^10)
f, ax, ct = contour(x, y, z; labels=true, levels, colormap=:hsv, colorscale)
f
4ff4cd6

Криволинейные сетки

contour также поддерживает криволинейные сетки, где x и y являются матрицами того же размера, что и z. Это аналогично входным данным, принимаемым surface.

Давайте заключим регулярную сетку x и y в оболочку с помощью некоторой нелинейной функции и построим ее контуры:

using CairoMakie
x = -10:10
y = -10:10
# Криволинейная сетка:
xs = [x + 0.01y^3 for x in x, y in y]
ys = [y + 10cos(x/40) for x in x, y in y]

# Теперь для простоты рассчитаем значения `zs`
# как радиус от центра сетки (0, 10).
zs = sqrt.(xs .^ 2 .+ (ys .- 10) .^ 2)

# Мы можем использовать методы нахождения делений Makie для получения уровней контуров:
levels = Makie.get_tickvalues(Makie.LinearTicks(7), extrema(zs)...)

# и теперь строим график.
fig, ax, srf = surface(xs, ys, fill(0f0, size(zs)); color=zs, shading = NoShading, axis = (; type = Axis, aspect = DataAspect()))
ctr = contour!(ax, xs, ys, zs; color = :orange, levels = levels, labels = true, labelfont = :bold, labelsize = 12)

fig
320a2c8

Атрибуты

alpha

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

clip_planes

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

color

Значение по умолчанию: nothing
цвет контурных линий. При значении nothing цвет определяется числовыми значениями уровней контура в сочетании с colormap и colorrange.

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.

depth_shift

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

enable_depth

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

fxaa

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

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.

joinstyle

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

labelcolor

Значение по умолчанию: nothing
цвет меток контура; при значении nothing по умолчанию совпадает с color.

labelfont

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

labelformatter

Значение по умолчанию: contour_label_formatter
форматирует числовые значения уровней контура как строки.

labels

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

labelsize

Значение по умолчанию: 10
размер шрифта меток контура.

levels

Значение по умолчанию: 5
определяет количество и расположение линий контура. Значение может быть одного из следующих типов:

  • Int — получается n уровней или полос одинаковой ширины;

  • AbstractVector{<:Real} — содержит список n последовательных краев от нижнего до верхнего, в результате чего получается n-1 уровней или полос.

linecap

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

linestyle

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

linewidth

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

lowclip

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

miter_limit

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

model

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

nan_color

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

overdraw

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

space

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

ssao

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

transformation

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

transparency

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

visible

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