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

Цвета

Существует множество атрибутов цветов для линий, заливок, маркеров, фона и переднего плана. Многие цвета подчиняются иерархии. Например, linecolor получает свое значение от seriescolor, если только вы не переопределите это значение. Это позволяет просто задать именно то, что нужно, без лишних шаблонов.

Атрибуты цветов могут иметь разные типы.

  • Символы (Symbol) или строки (String) будут переданы в Colors.parse(Colorant, c), поэтому :red эквивалентен colorant"red".

  • false или nothing будет преобразован в невидимый RGBA(0,0,0,0).

  • Любой Colors.Colorant, с альфа-каналом/прозрачностью или без них.

  • Любой Plots.ColorScheme, который включает ColorVector, ColorGradient и т. д.

  • Целое число, которое выбирает соответствующий цвет из seriescolor.

Кроме того, имеются широкие возможности для выбора и создания цветовых карт/градиентов.

  • Допустимый символ: :inferno (по умолчанию), :heat, :blues и т. д.

  • Список цветов (или всего, что может быть преобразовано в цвет).

  • Предварительно созданный ColorGradient, который может быть сконструирован с помощью вспомогательной функции cgrad. Пример использования см. в этом кратком руководстве.

Имена цветов

Поддерживаемые имена цветов представляют собой объединение имен цветов X11 и SVG. Они определены в файле Colors.jl как blue, blue2, blue3 и т. д.


Цвета рядов

При работе с рядами необходимо знать несколько атрибутов:

  • seriescolor: не используется напрямую, но определяет базовый цвет для ряда

  • linecolor: цвет путей

  • fillcolor: цвет заливки области

  • markercolor: цвет внутренней части маркеров и фигур

  • markerstrokecolor: цвет границы/контура маркеров и фигур

seriescolor по умолчанию имеет значение :auto, и ему присваивается цвет из color_palette в зависимости от его индекса на подграфике. По умолчанию к другим цветам применяется соответствие (:match). (См. таблицу ниже)

В общем случае цветовые градиенты можно задать с помощью *color, а соответствующие значения цветов для поиска в градиентах — с помощью *_z.

Этот цвет…​ соответствует этому цвету…​

linecolor

seriescolor

fillcolor

seriescolor

markercolor

seriescolor

markerstrokecolor

foregroundcolorsubplot

Каждый из этих атрибутов имеет соответствующее переопределение альфа-канала: seriesalpha, linealpha, fillalpha, markeralpha и markerstrokealpha. Они являются необязательными, и вы все равно можете предоставить информацию об альфа-канале как части Colors.RGBA.

В некоторых контекстах и случаях, когда пользователь не задал значение, linecolor или markerstrokecolor могут быть переопределены.


Передний план и фон

Цвета переднего плана и фона работают аналогичным образом:

Этот цвет…​ соответствует этому цвету…​

backgroundcoloroutside

background_color

backgroundcolorsubplot

background_color

backgroundcolorlegend

backgroundcolorsubplot

backgroundcolorinside

backgroundcolorsubplot

foregroundcolorsubplot

foreground_color

foregroundcolorlegend

foregroundcolorsubplot

foregroundcolorgrid

foregroundcolorsubplot

foregroundcolortitle

foregroundcolorsubplot

foregroundcoloraxis

foregroundcolorsubplot

foregroundcolorborder

foregroundcolorsubplot

foregroundcolorguide

foregroundcolorsubplot

foregroundcolortext

foregroundcolorsubplot


Прочее

  • linecolor в теме по умолчанию не является CSS-определенным, но близок к :steelblue.

  • Параметры line_z и marker_z сопоставят значения данных со значением ColorGradient.

  • color_palette определяет цвета, присваиваемые, когда seriescolor == :auto:

    • Если передан вектор цветов, он будет принудительно зацикливать эти цвета.

    • Если передан градиент, он будет бесконечно создавать уникальные цвета из этого градиента, пытаясь их распределить.