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

IntervalSlider

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

Ползунок интервала выбирает интервал (низкий, высокий) из предоставленного атрибута range. Начальные (приблизительные) значения можно задать с помощью startvalues.

Текущий выбранный интервал находится в атрибуте interval и является кортежем (low, high). Не изменяйте это значение вручную, а воспользуйтесь функцией set_close_to!(intslider, v1, v2). Это необходимо для того, чтобы значения действительно присутствовали в атрибуте range.

Щелкните в любом месте за пределами текущего выбранного диапазона, и край ближайшего интервала перейдет к точке. После этого можно перетащить край. При наведении указателя мыши на ползунок большая кнопка указывает на край, который будет реагировать.

Если указатель мыши наведен на центральную область интервала и обе кнопки увеличены, при щелчке и перетаскивании интервал сдвигается как целый объект.

Дважды щелкните ползунок, чтобы вернуть для него значения, указанные в startvalues. Если startvalues === Makie.automatic, будет выбран полный интервал (по умолчанию).

Если задать атрибут snap = false, ползунок будет двигаться непрерывно во время перетаскивания и перейдет к ближайшим доступным значениям только при отпускании кнопки мыши.

using GLMakie

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

rs_h = IntervalSlider(f[2, 1], range = LinRange(0, 1, 1000),
    startvalues = (0.2, 0.8))
rs_v = IntervalSlider(f[1, 2], range = LinRange(0, 1, 1000),
    startvalues = (0.4, 0.9), horizontal = false)

labeltext1 = lift(rs_h.interval) do int
    string(round.(int, digits = 2))
end
Label(f[3, 1], labeltext1, tellwidth = false)
labeltext2 = lift(rs_v.interval) do int
    string(round.(int, digits = 2))
end
Label(f[1, 3], labeltext2,
    tellheight = false, rotation = pi/2)

points = rand(Point2f, 300)

# зададим точкам разные цвета, если они находятся в пределах двух интервалов
colors = lift(rs_h.interval, rs_v.interval) do h_int, v_int
    map(points) do p
        (h_int[1] < p[1] < h_int[2]) && (v_int[1] < p[2] < v_int[2])
    end
end

scatter!(points, color = colors, colormap = [:gray90, :dodgerblue], strokewidth = 0)

f

Атрибуты

MarkdownAST.Heading(3)

Defaults to Inside()

The align mode of the slider in its parent GridLayout.

MarkdownAST.Heading(3)

Defaults to COLOR_ACCENT[]

The color of the slider when the mouse clicks and drags the slider.

MarkdownAST.Heading(3)

Defaults to COLOR_ACCENT_DIMMED[]

The color of the slider when the mouse hovers over it.

MarkdownAST.Heading(3)

Defaults to RGBf(0.94, 0.94, 0.94)

The color of the slider when it is not interacted with.

MarkdownAST.Heading(3)

Defaults to :center

The horizontal alignment of the slider in its suggested bounding box.

MarkdownAST.Heading(3)

Defaults to Auto()

The height setting of the slider.

MarkdownAST.Heading(3)

Defaults to true

Controls if the slider has a horizontal orientation or not.

MarkdownAST.Heading(3)

Defaults to (0, 0)

The current interval of the slider. Don’t set this manually, use the function set_close_to!.

MarkdownAST.Heading(3)

Defaults to 10.0

The width of the slider line

MarkdownAST.Heading(3)

Defaults to 0:0.01:10

The range of values that the slider can pick from.

MarkdownAST.Heading(3)

Defaults to true

Controls if the buttons snap to valid positions or move freely

MarkdownAST.Heading(3)

Defaults to Makie.automatic

The start values of the slider or the values that are closest in the slider range.

MarkdownAST.Heading(3)

Defaults to true

Controls if the parent layout can adjust to this element’s height

MarkdownAST.Heading(3)

Defaults to true

Controls if the parent layout can adjust to this element’s width

MarkdownAST.Heading(3)

Defaults to :center

The vertical alignment of the slider in its suggested bounding box.

MarkdownAST.Heading(3)

Defaults to Auto()

The width setting of the slider.