Документация 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
b5bb09a

Если опустить 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
fff78ce

Можно также добавлять метки и управлять атрибутами меток, такими как 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
1be3172

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

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
8de3f12

Атрибуты

alpha

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

Альфа-значение цветовой карты или атрибута color. Несколько букв, таких как в 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

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

enable_depth

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

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

fxaa

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

Регулирует, будет ли график отображаться с использованием 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

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

labelcolor

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

Цвет контурных надписей, если nothing он совпадает color по умолчанию.

labelfont

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

Шрифт контурных надписей.

labelformatter

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

Форматирует числовые значения уровней контура в строки.

labels

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

Если true, добавляет текстовые надписи к контурным линиям.

labelsize

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

Размер шрифта контурных надписей

levels

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

Управляет количеством и расположением контурных линий. Может быть как -, так и Int в результате получается n уровней или полос одинаковой ширины

  • an 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 (сглаживания окружающего пространства экрана). Обратите внимание, что это имеет смысл только для 3D-графиков и применимо только к fxaa = true.

transformation

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

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

transparency

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

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

visible

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

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