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

contourf

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

contourf(xs, ys, zs; kwargs...)

Строит контур с заливкой в соответствии с информацией о высоте в zs в позициях сетки по горизонтали xs и позициях сетки по вертикали ys.

Тип графика

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

using CairoMakie
using DelimitedFiles


volcano = readdlm(Makie.assetpath("volcano.csv"), ',', Float64)

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

co = contourf!(volcano, levels = 10)

Colorbar(f[1, 2], co)

f
ff01339

using CairoMakie
using DelimitedFiles


volcano = readdlm(Makie.assetpath("volcano.csv"), ',', Float64)

f = Figure()
ax = Axis(f[1, 1])

co = contourf!(volcano,
    levels = range(100, 180, length = 10),
    extendlow = :cyan, extendhigh = :magenta)

tightlimits!(ax)

Colorbar(f[1, 2], co)

f
c8bfe79

using CairoMakie
using DelimitedFiles


volcano = readdlm(Makie.assetpath("volcano.csv"), ',', Float64)

f = Figure()
ax = Axis(f[1, 1])

co = contourf!(volcano,
    levels = range(100, 180, length = 10),
    extendlow = :auto, extendhigh = :auto)

tightlimits!(ax)

Colorbar(f[1, 2], co)

f
f003d83

Относительный режим

Иногда бывает полезно отбросить одну часть диапазона значений, обычно в сторону внешней границы. Вместо того чтобы указывать включаемые уровни вручную, можно задать атрибуту mode значение :relative и указать уровни от 0 до 1 относительно текущего минимального и максимального значений.

using CairoMakie
using DelimitedFiles


volcano = readdlm(Makie.assetpath("volcano.csv"), ',', Float64)

f = Figure(size = (800, 400))

Axis(f[1, 1], title = "Relative mode, drop lowest 30%")
contourf!(volcano, levels = 0.3:0.1:1, mode = :relative)

Axis(f[1, 2], title = "Normal mode")
contourf!(volcano, levels = 10)

f
b466bad

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

contourf также поддерживает криволинейные сетки, где 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)...)
# и теперь строим график.
f = Figure()
ax1 = Axis(f[1, 1])
ctrf1 = contourf!(ax1, x, y, zs; levels = levels)
ax2 = Axis(f[1, 2])
ctrf2 = contourf!(ax2, xs, ys, zs; levels = levels)
f
8f11ef0

Атрибуты

clip_planes

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

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

colormap

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

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

colorscale

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

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

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

extendhigh

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

В режиме :normal, если вы хотите отобразить полосу от верхнего края до Inf, установите extendhigh в значение :auto, чтобы придать расширению тот же цвет, что и у последнего уровня, или укажите цвет напрямую (значение по умолчанию nothing означает отсутствие расширенной полосы).

extendlow

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

В режиме :normal, если вы хотите отобразить полосу от -Inf до нижнего края, установите extendlow в значение :auto, чтобы придать расширению тот же цвет, что и первому уровню, или укажите цвет напрямую (значение по умолчанию nothing означает отсутствие расширенной полосы).

fxaa

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

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

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.

levels

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

Может быть либо

  • an Int , который создает n уровней или полос одинаковой ширины

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

Если levels это Int, контурный график будет прямоугольным, так как все значения zs будут покрыты от края до края. Вот почему Axis по умолчанию для таких контурных графиков установлены жесткие ограничения. Однако, если вы укажете levels как AbstractVector{<:Real}, обратите внимание, что ограничения по осям включают поля по умолчанию, поскольку контурный график может иметь неправильную форму. Вы можете использовать tightlimits!(ax) чтобы ужесточить ограничения, аналогичные тем, которые Int поведение.

mode

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

Определяет, как интерпретируется атрибут levels , либо :normal или :relative. В режиме :normal уровни непосредственно соответствуют значениям z. В :relative режиме, вы задаете ребра с помощью доли между минимальным и максимальным значением zs. Это можно использовать, например, для построения полос для верхних 90%, исключая при этом нижние 10% с помощью levels = 0.1:0.1:1.0, mode = :relative.

model

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

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

nan_color

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

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

overdraw

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

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

space

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

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

ssao

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

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

transformation

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

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

transparency

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

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

visible

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

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