Skip to content

bracket ​

Makie.bracket Function
julia
bracket(x1, y1, x2, y2; kwargs...)
bracket(x1s, y1s, x2s, y2s; kwargs...)
bracket(point1, point2; kwargs...)
bracket(vec_of_point_tuples; kwargs...)

Draws a bracket between each pair of points (x1, y1) and (x2, y2) with a text label at the midpoint.

By default each label is rotated parallel to the line between the bracket points.

Plot type

The plot type alias for the bracket function is Bracket.

source

Examples ​

Scalar arguments ​

julia
using CairoMakie
f, ax, l = lines(0..9, sin; axis = (; xgridvisible = false, ygridvisible = false))
ylims!(ax, -1.5, 1.5)

bracket!(pi/2, 1, 5pi/2, 1, offset = 5, text = "Period length", style = :square)

bracket!(pi/2, 1, pi/2, -1, text = "Amplitude", orientation = :down,
    linestyle = :dash, rotation = 0, align = (:right, :center), textoffset = 4, linewidth = 2, color = :red, textcolor = :red)

bracket!(2.3, sin(2.3), 4.0, sin(4.0),
    text = "Falling", offset = 10, orientation = :up, color = :purple, textcolor = :purple)

bracket!(Point(5.5, sin(5.5)), Point(7.0, sin(7.0)),
    text = "Rising", offset = 10, orientation = :down, color = :orange, textcolor = :orange,
    fontsize = 30, textoffset = 30, width = 50)
f

Vector arguments ​

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

bracket!(ax,
    1:5,
    2:6,
    3:7,
    2:6,
    text = ["A", "B", "C", "D", "E"],
    orientation = :down,
)

bracket!(ax,
    [(Point2f(i, i-0.7), Point2f(i+2, i-0.7)) for i in 1:5],
    text = ["F", "G", "H", "I", "J"],
    color = [:red, :blue, :green, :orange, :brown],
    linestyle = [:dash, :dot, :dash, :dot, :dash],
    orientation = [:up, :down, :up, :down, :up],
    textcolor = [:red, :blue, :green, :orange, :brown],
    fontsize = range(12, 24, length = 5),
)

f

Styles ​

julia
using CairoMakie
f = Figure()
ax = Axis(f[1, 1], xgridvisible = false, ygridvisible = false)
ylims!(ax, -1, 2)
bracket!(ax, 1, 0, 3, 0, text = "Curly", style = :curly)
bracket!(ax, 2, 1, 4, 1, text = "Square", style = :square)

f

Attributes ​

align ​

Defaults to (:center, :center)

The alignment of text.

color ​

Defaults to @inherit linecolor

Sets the color of the bracket line.

font ​

Defaults to @inherit font

The font used for text.

fontsize ​

Defaults to @inherit fontsize

Sets the fontsize of text

joinstyle ​

Defaults to @inherit joinstyle

Controls the rendering at line corners. Options are :miter for sharp corners, :bevel for cut-off corners, and :round for rounded corners. If the corner angle is below miter_limit, :miter is equivalent to :bevel to avoid long spikes.

justification ​

Defaults to automatic

Sets the justification of multi-line text.

linecap ​

Defaults to @inherit linecap

Sets the type of line cap used for bracket lines. Options are :butt (flat without extrusion), :square (flat with half a linewidth extrusion) or :round.

linestyle ​

Defaults to nothing

Sets the line pattern of the bracket line. See ?lines for more information.

linewidth ​

Defaults to @inherit linewidth

Sets the width of the bracket line.

miter_limit ​

Defaults to @inherit miter_limit

" Sets the minimum inner line join angle below which miter joins truncate. See also Makie.miter_distance_to_angle.

offset ​

Defaults to 0

The offset of the bracket perpendicular to the line from start to end point in screen units. The direction depends on the orientation attribute.

orientation ​

Defaults to :up

Which way the bracket extends relative to the line from start to end point. Can be :up or :down.

rotation ​

Defaults to automatic

Sets the rotation of text. By default text is rotated to be parallel to the line from the start to end point of the bracket, and never upside-down.

space ​

Defaults to :data

Sets the space for the start and end points of brackets.

style ​

Defaults to :curly

Sets the style of drawn bracket. The current options are :curly for curly braces } and :square for brackets ]. More bracket types can be implemented by providing a method of Makie.bracket_bezierpath(...), see ?Makie.bracket_bezierpath.

text ​

Defaults to ""

The text(s) displayed at the center of the bracket(s).

textcolor ​

Defaults to @inherit textcolor

Sets the color of the text.

textoffset ​

Defaults to automatic

Undirected offset between text and the center of the bracket. By default this is set to 75% of the fontsize. The direction of the offset is always perpendicular to the line from the start to the end point.

width ​

Defaults to 15

The width of the bracket (perpendicularly away from the line from start to end point) in screen units.