# contour ​

# Makie.contourFunction.
julia
``````contour(x, y, z)
contour(z::Matrix)``````

Creates a contour plot of the plane spanning `x::Vector`, `y::Vector`, `z::Matrix`. If only `z::Matrix` is supplied, the indices of the elements in `z` will be used as the `x` and `y` locations when plotting the contour.

Plot type

The plot type alias for the `contour` function is `Contour`.

source

## Examples ​

julia
``````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``````

Omitting the `xs` and `ys` results in the indices of `zs` being used. We can also set arbitrary contour-levels using `levels`

julia
``````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``````

One can also add labels and control label attributes such as `labelsize`, `labelcolor` or `labelfont`.

julia
``````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``````

## Attributes ​

### alpha ​

Defaults to `1.0`

The alpha value of the colormap or color attribute. Multiple alphas like in `plot(alpha=0.2, color=(:red, 0.5)`, will get multiplied.

### color ​

Defaults to `nothing`

The color of the contour lines. If `nothing`, the color is determined by the numerical values of the contour levels in combination with `colormap` and `colorrange`.

### colormap ​

Defaults to `@inherit colormap :viridis`

Sets the colormap that is sampled for numeric `color`s. `PlotUtils.cgrad(...)`, `Makie.Reverse(any_colormap)` can be used as well, or any symbol from ColorBrewer or PlotUtils. To see all available color gradients, you can call `Makie.available_gradients()`.

### colorrange ​

Defaults to `automatic`

The values representing the start and end points of `colormap`.

### colorscale ​

Defaults to `identity`

The color transform function. Can be any function, but only works well together with `Colorbar` for `identity`, `log`, `log2`, `log10`, `sqrt`, `logit`, `Makie.pseudolog10` and `Makie.Symlog10`.

### depth_shift ​

Defaults to `0.0`

adjusts the depth value of a plot after all other transformations, i.e. in clip space, where `0 <= depth <= 1`. This only applies to GLMakie and WGLMakie and can be used to adjust render order (like a tunable overdraw).

### enable_depth ​

Defaults to `true`

No docs available.

### fxaa ​

Defaults to `true`

adjusts whether the plot is rendered with fxaa (anti-aliasing, GLMakie only).

### highclip ​

Defaults to `automatic`

The color for any value above the colorrange.

### inspectable ​

Defaults to `true`

sets whether this plot should be seen by `DataInspector`.

### inspector_clear ​

Defaults to `automatic`

Sets a callback function `(inspector, plot) -> ...` for cleaning up custom indicators in DataInspector.

### inspector_hover ​

Defaults to `automatic`

Sets a callback function `(inspector, plot, index) -> ...` which replaces the default `show_data` methods.

### inspector_label ​

Defaults to `automatic`

Sets a callback function `(plot, index, position) -> string` which replaces the default label generated by DataInspector.

### joinstyle ​

Defaults to `@inherit joinstyle`

No docs available.

### labelcolor ​

Defaults to `nothing`

Color of the contour labels, if `nothing` it matches `color` by default.

### labelfont ​

Defaults to `@inherit font`

The font of the contour labels.

### labelformatter ​

Defaults to `contour_label_formatter`

Formats the numeric values of the contour levels to strings.

### labels ​

Defaults to `false`

If `true`, adds text labels to the contour lines.

### labelsize ​

Defaults to `10`

Font size of the contour labels

### levels ​

Defaults to `5`

Controls the number and location of the contour lines. Can be either

• an `Int` that produces n equally wide levels or bands

• an `AbstractVector{<:Real}` that lists n consecutive edges from low to high, which result in n-1 levels or bands

### linecap ​

Defaults to `@inherit linecap`

No docs available.

### linestyle ​

Defaults to `nothing`

No docs available.

### linewidth ​

Defaults to `1.0`

No docs available.

### lowclip ​

Defaults to `automatic`

The color for any value below the colorrange.

### miter_limit ​

Defaults to `@inherit miter_limit`

No docs available.

### model ​

Defaults to `automatic`

Sets a model matrix for the plot. This overrides adjustments made with `translate!`, `rotate!` and `scale!`.

### nan_color ​

Defaults to `:transparent`

The color for NaN values.

### overdraw ​

Defaults to `false`

Controls if the plot will draw over other plots. This specifically means ignoring depth checks in GL backends

### space ​

Defaults to `:data`

sets the transformation space for box encompassing the plot. See `Makie.spaces()` for possible inputs.

### ssao ​

Defaults to `false`

Adjusts whether the plot is rendered with ssao (screen space ambient occlusion). Note that this only makes sense in 3D plots and is only applicable with `fxaa = true`.

### transformation ​

Defaults to `automatic`

No docs available.

### transparency ​

Defaults to `false`

Adjusts how the plot deals with transparency. In GLMakie `transparency = true` results in using Order Independent Transparency.

### visible ​

Defaults to `true`

Controls whether the plot will be rendered or not.