Справка по API

# Base.sizeFunction

size(::PlotlyBase.Plot)

Возвращает размер графика в пикселях. Значения размера можно получить из полей layout.width и layout.height.

# PlotlyBase.addtraces!Method

addtraces!(p::Plot, traces::AbstractTrace...)

Добавляет линии в конец массива данных Plot.

# PlotlyBase.addtraces!Method

addtraces!(p::Plot, i::Int, traces::AbstractTrace...)

Добавляет линии в указанное расположение в массиве данных Plot.

Новые линии будут начинаться с индекса p.data[i].

# PlotlyBase.circleFunction

Строит окружность из x0+x1)/2, (y0+y1)/2 радиусом (|(x0+x1)/2 — x0|, |(y0+y1)/2 --y0)|)

# PlotlyBase.deletetraces!Function

deletetraces!(p::Plot, inds::Int...) =

Удаляет линии по указанным индексам.

# PlotlyBase.extendtraces!Function

extendtraces!(::Plot, ::Dict{Union{Symbol,AbstractString},AbstractVector{Vector{Any}}}), indices, maxpoints)

Расширяет одну или несколько линий дополнительными данными. Важно иметь в виду несколько замечаний о структуре словаря обновления.

  • Ключи словаря должны иметь тип Symbol или AbstractString, указывающий подлежащий обновлению атрибут линии. Эти атрибуты уже должны существовать в линии.

  • Значения словаря должны быть вектором (Vector) вектора (Vector) данных. Внешний индекс указывает Plotly, какую линию обновлять, а вектор (Vector) по этому индексу содержит значение, которое должно быть добавлено в конец атрибута линии.

Эти понятия лучше всего рассмотреть на примере:

# добавляет значения [1, 3] в конец атрибута y первой линии и не
# удаляет точки
extendtraces!(p, Dict(:y=>Vector[[1, 3]]), [1], -1)
extendtraces!(p, Dict(:y=>Vector[[1, 3]]))  # эквивалентно приведенному выше
# добавляет значения [1, 3] в конец атрибута marker.size третьей линии
# и [5,5,6] в конец атрибута marker.size пятой линии, оставляя не более 10
# точек на каждый атрибут marker.size
extendtraces!(p, Dict("marker.size"=>Vector[[1, 3], [5, 5, 6]]), [3, 5], 10)

# PlotlyBase.hlineFunction

hline(y, fields::AbstractDict=Dict{Symbol,Any}(); kwargs...)

Строит горизонтальные линии в каждой точке y, которые охватывают ширину графика.

# PlotlyBase.launch_browserFunction

Открывает вкладку браузера с данным html-файлом.

# PlotlyBase.lineFunction

Строит линию через точки (x0, y0) и (x1, y2).

# PlotlyBase.movetraces!Method

movetraces!(p::Plot, to_end::Int...)

Перемещает одну или несколько линий в конец массива данных.

# PlotlyBase.movetraces!Method

movetraces!(p::Plot, src::AbstractVector{Int}, dest::AbstractVector{Int})

Перемещает линии с индексов src на индексы dest.

src и dest должны быть Vector{Int}.

# PlotlyBase.pathFunction

Строит произвольный путь в формате SVG.

# PlotlyBase.prependtraces!Function

prependtraces!(p::Plot, update::AbstractDict, indices::AbstractVector{Int}=[1],
                maxpoints=-1)

API для prependtraces эквивалентен API для extendtraces, за исключением того, что данные добавляются не в конец, а в начало атрибутов линий. Дополнительные сведения см. в этих строках docstring.

# PlotlyBase.rectFunction

Строит прямоугольник, соединяющий (x0,y0), (x1,y0), (x1,y1), (x0,y1), (x0,y0).

# PlotlyBase.relayout!Function

relayout!(l::Layout, update::AbstractDict=Dict(); kwargs...)

Обновляет l с использованием словаря обновлений и (или) именованных аргументов.

# PlotlyBase.relayout!Function

relayout!(p::Plot, update::AbstractDict=Dict(); kwargs...)

Обновляет p.layout при использовании словаря обновлений и (или) именованных аргументов.

# PlotlyBase.restyle!Function

Метод restyle! следует семантике функции Plotly.restyle в plotly.js. В частности, при попытке задать атрибуту значение k v на линии ind, которая является i-й линией, указанной в векторе ind (если ind является скаляром, значение i всегда равно 1), применяются следующие правила.

  • Если v является массивом или кортежем (оба варианта преобразуются в массивы javascript при вызове

json(v)), то p.data[ind][k] будет задано v[i]. См. примеры ниже.

  • Если v — это любой другой тип (любой скалярный тип), для k задается непосредственно v.

Примеры

# задать красный цвет маркера на первых двух линиях
restyle!(p, [1, 2], marker_color="red")

# задать зеленый цвет маркера на первой линии и красный — на второй линии
restyle!(p, [2, 1], marker_color=["red", "green"])

# задать зеленый цвет маркера на первой линии; зеленый цвет не используется
restyle!(p, 1, marker_color=["red", "green"])

# задать красный цвет первого маркера на первой линии и зеленый цвет второго маркера на первой линии
restyle!(p, 1, marker_color=(["red", "green"],))

# предположим, график состоит из трех линий.
# задает красный и зеленый цвет маркера ["red", "green"] на первой линии
# задает синий ("blue") цвет маркера на второй линии
# задает красный и зеленый цвет маркера ["red", "green"] на третьей линии
restyle!(p, 1:3, marker_color=(["red", "green"], "blue"))

# PlotlyBase.sizesFunction

При заданном количестве строк и столбцов возвращает NTuple{4,Float64}, содержащий (width, height, vspace, hspace), где width и height являются высотой и шириной каждого подграфика, а vspace и hspace — вертикальным и горизонтальным интервалами между подграфиками, соответственно.

# PlotlyBase.stemFunction

stem(; y, stem_color, stem_thickness, kwargs...)

Создает линию типа «ствол» (stem) или «леденец». Реализуется с помощью типа scatter в plotly.js с использованием строк погрешностей для построения ствола.

Именованные аргументы:

  • Все свойства, принимаемые scatter, за исключением error_y, которое используется для построения стволов.

  • stem_color — задает цвет стволов

  • stem_thickness — задает толщину стволов

# PlotlyBase.to_htmlFunction

to_html(
    io::IO,
    p::Plot;
    autoplay::Bool=true,
    include_plotlyjs::Union{String,Missing}="cdn",
    include_mathjax::Union{String,Missing}="cdn",
    post_script::Union{String,Missing}=missing,
    full_html::Bool=true,
    animation_opts::Union{Dict,Missing}=missing,
    default_width::String="100%",
    default_height::String="100%"
)
  • io: поток ввода-вывода, в который будет выполняться запись

  • p: сохраняемый график

  • autoplay: должны ли анимации запускаться автоматически

  • include_plotlyjs: способ включения plotly.js. Возможные параметры:  — cdn: включает тег

  • include*mathjax: способ включения mathjax. Возможные параметры:  — строка, оканчивающаяся на .js: мы выполняем загрузку с помощью <script src=":($(Expr(:incomplete, "incomplete: premature end of input")))*mathjax)">. Вы отвечаете за его разрешение.  — что-то еще: мы выполняем загрузку с помощью cdn.

  • post_script: произвольный javascript для запуска после завершения построения графика с помощью plotly.js.

  • full_html: включает все части, необходимые для отдельного HTML-файла.

  • animation_opts: дополнительные параметры, используемые для управления анимацией. Включаются в вызов addFrames после фактических кадров. См. документацию по plotly.js с дополнительными сведениями о addFrames.

  • default_width: допустимый указатель css для ширины

  • default_height: допустимый указатель css для высоты

# PlotlyBase.trace_mapFunction

trace_map(p::Plot, axis::Symbol=:x)

Возвращает массив length(p.data), который сопоставляет каждый элемент p.data с целым числом, означающим номер оси вида axis, к которой относится линия. Ось (axis) может быть x или y. Если задано значение x, возвращает целое число, означающее, к какой оси x относится линия. То же самое действует для y.

# PlotlyBase.update!Function

Применяет restyle! и relayout! к графику. Аргументы макета задаются путем передачи экземпляра Layout именованному аргументу layout.

Словарь обновления (update) (необязательно) и все именованные аргументы будут переданы функции restyle.

Пример

julia> p = Plot([scatter(y=[1, 2, 3])], Layout(yaxis_title="this is y"));

julia> print(json(p, 2))
{
  "layout": {
    "margin": {
      "l": 50,
      "b": 50,
      "r": 50,
      "t": 60
    },
    "yaxis": {
      "title": "this is y"
    }
  },
  "data": [
    {
      "y": [
        1,
        2,
        3
      ],
      "type": "scatter"
    }
  ]
}

julia> update!(p, Dict(:marker => Dict(:color => "red")), layout=Layout(title="this is a title"), marker_symbol="star");

julia> print(json(p, 2))
{
  "layout": {
    "margin": {
      "l": 50,
      "b": 50,
      "r": 50,
      "t": 60
    },
    "yaxis": {
      "title": "this is y"
    },
    "title": "this is a title"
  },
  "data": [
    {
      "y": [
        1,
        2,
        3
      ],
      "type": "scatter",
      "marker": {
        "color": "red",
        "symbol": "star"
      }
    }
  ]
}

# PlotlyBase.vlineFunction

vline(x, fields::AbstractDict=Dict{Symbol,Any}(); kwargs...)

Строит вертикальные линии в каждой точке x, которые располагаются по высоте графика.

# PlotlyJS.savefigFunction

savefig(
    io::IO,
    p::Plot;
    width::Union{Nothing,Int}=nothing,
    height::Union{Nothing,Int}=nothing,
    scale::Union{Nothing,Real}=nothing,
    format::String="png"
)

Сохраняет график p в поток ввода-вывода io. Именованный аргумент format определяет тип данных, записываемых в фигуру. Тип должен быть одним из следующих: png, jpeg, webp, svg, pdf, eps, json или html. scale задает масштаб изображения. width и height задают измерения (в пикселях). Значения по умолчанию можно получить из p.layout, либо их предоставляет plotly.

savefig(
    p::Plot, fn::AbstractString;
    format::Union{Nothing,String}=nothing,
    width::Union{Nothing,Int}=nothing,
    height::Union{Nothing,Int}=nothing,
    scale::Union{Nothing,Real}=nothing,
)

Сохраняет график p в файл fn. Если format задан и имеет тип png, jpeg, webp, svg, pdf, eps, json или html, он будет представлять формат файла. По умолчанию формат определяется расширением fn. scale задает масштаб изображения. width и height задают измерения (в пикселях). Значения по умолчанию можно получить из p.layout, либо их предоставляет plotly.

# PlotlyBase.InsetType

Parameters

  • cell: индекс ячейки подграфика для наложения осей вставки.

  • kind: вид подграфика (см. документацию по Spec)

  • l: отступы слева от вставки в долях ширины ячейки

  • w: ширина вставки в долях от ширины ячейки ('to_end': до правого края ячейки)

  • b: отступы снизу от вставки в долях высоты ячейки

  • h: высота вставки в долях от высоты ячейки ('to_end': до верхнего края ячейки)

# PlotlyBase.PlotConfigType

PlotConfig(;kwargs...)

Параметры конфигурации, передаваемые во фронтенд для управления аспектами отрисовки графика. Ниже приведены допустимые именованные аргументы.

  • scrollZoom: определяет, будет ли включено масштабирование с помощью прокрутки колеса мыши или двумя пальцами. Включено по умолчанию для подграфиков gl3d, geo и mapbox (поскольку у этих типов подграфиков нет масштабирования через панорамирование), но выключено по умолчанию для декартовых подграфиков. Задайте scrollZoom значение false, чтобы отключить прокрутку для всех подграфиков.

  • editable: определяет возможность редактирования графика. Задает все части edits, если отдельный элемент конфигурации edits не переопределяет отдельные части.

  • staticPlot: определяет, являются ли графики интерактивными. Если false, экспорт или генерация изображений выполняются без интерактивности.

  • toImageButtonOptions: статически переопределяет параметры для кнопки строки режимов toImage, допустимыми ключами которой являются формат, имя файла, ширина, высота

  • displayModeBar: определяет режим отображения строки режимов. Если true, строка режимов всегда отображается. Если false, строка режимов всегда скрыта. Если hover, строка режимов отображается, пока курсор мыши находится на контейнере графика.

  • modeBarButtonsToRemove: удаляет кнопки строки режимов по имени.

  • modeBarButtonsToAdd: добавляет кнопки строки режимов с помощью объектов конфигурации. Для включения предопределенных кнопок строки режимов, например для рисования фигур, наведения и пиковых линий, достаточно указать их строковое имя (имена). В их число могут входить следующие: v1hovermode, hoverclosest, hovercompare, togglehover, togglespikelines, drawline, drawopenpath, drawclosedpath, drawcircle, drawrect и eraseshape. Обратите внимание, что эти предопределенные кнопки будут отображаться только в том случае, если они совместимы со всеми типами линий, используемых в графике.

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

  • showLink: определяет, будет ли отображаться ссылка на Chart Studio Cloud в правом нижнем углу результирующих графиков. Используется с sendData и linkText.

  • plotlyServerURL: если задан, определяет базовый URL-адрес для кнопки «Изменить в Chart Studio» (Edit in Chart Studio) строки режимов showEditInChartStudio/showSendToCloud и ссылки «Показать данные / отправить данные» (showLink/sendData) на графике. Чтобы включить отправку данных в Chart Studio Cloud, необходимо установить для plotlyServerURL значение https://chart-studio.plotly.com, а также задать для showSendToCloud значение true.

  • linkText: задает текст, отображаемый в ссылке showLink.

  • showEditInChartStudio: аналогичен showSendToCloud, но вместо значка дискеты используется значок карандаша. Обратите внимание, что если включен и showSendToCloud, и showEditInChartStudio, будет использоваться только showEditInChartStudio.

  • locale: используемый язык локализации. Должен быть строкой вида en или en-US.

  • displaylogo: определяет, отображать или нет логотип plotly в конце строки режимов.

  • responsive: определяет, следует ли изменять размер макета при изменении размеров окна.

  • doubleClickDelay: Задает задержку регистрации двойного щелчка мыши в мс. Это интервал времени (в мс) между первым нажатием кнопки мыши и вторым отпусканием кнопки мыши, который считается двойным щелчком. Эта настройка действует для всех двойных щелчков на подграфике (кроме geo и mapbox) и для двойных щелчков на условных обозначениях.

# PlotlyBase.SpecType

Параметры

  • kind типа подграфика. Один из следующих:  — xy: тип двумерного декартова подграфика для графика рассеяния, линейного графика и т. д.  — scene: тип трехмерного декартова подграфика для трехмерного графика рассеяния, конусовидного графика и т. д.  — polar: полярный подграфик для полярного графика рассеяния, полярного линейного графика и т. д.  — ternary: тернарный подграфик для тернарного графика рассеяния  — mapbox: подграфик mapbox для графика mapbox рассеяния  — domain: тип подграфика для линий с индивидуальным расположением. Круговой, с параллельными координатами и т. д.  — Тип линии: укажите здесь название типа линии, и мы определим подходящий вид подграфика.

  • secondary_y: Если true, создается дополнительная ось y, расположенная в правой части подграфика. Допустим, только если kind="xy".

  • colspan: количество столбцов подграфика, которое будет занимать данный подграфик.

  • rowspan: количество строк подграфика, которое будет занимать данный подграфик.

  • l: отступы слева от ячейки

  • r: отступы справа от ячейки

  • t: отступы сверху от ячейки

  • b: отступы снизу от ячейки

# PlotlyBase.SubplotsType

Параметры

  • rows: количество строк в сетке подграфика. Значение должно быть больше нуля.

  • cols: количество столбцов в сетке подграфика. Значение должно быть больше нуля.

  • shared_xaxes: присваивает общие (связанные) оси x для двумерных декартовых подграфиков.

    • true или "columns" (столбцы): использовать оси как общие в подграфиках в одном столбце.

    • "rows" (строки): использовать оси как общие в подграфиках в одной строке.

    • "all" (все): использовать оси как общие во всех подграфиках в сетке.

  • shared_yaxes: присваивает общие (связанные) оси y для двумерных декартовых подграфиков.

    • "columns" (столбцы): использовать оси как общие в подграфиках в одном столбце.

    • true или "rows" (строки): использовать оси как общие в подграфиках в одной строке.

    • "all" (все): использовать оси как общие во всех подграфиках в сетке.

  • start_cell: выбирает начальную ячейку в сетке подграфиков, используемой для задания параметра domains_grid для подграфиков.

    • "top-left" (вверху слева): подграфики нумеруются цифрами (1, 1) в левом верхнем углу.

    • "bottom-left" (внизу справа): подграфики нумеруются цифрами (1, 1) в нижнем левом верхнем углу.

  • horizontal_spacing: пространство между столбцами подграфика в нормализованных координатах графика. Значение должно быть числом с плавающей запятой от 0 до 1. применяется ко всем столбцам (используйте пространство, зависящее от specs подграфика).

  • vertical_spacing: пространство между строками подграфика в нормализованных координатах графика. Значение должно быть числом с плавающей запятой от 0 до 1. Применяется ко всем строкам (используйте пространство, зависящее от specs подграфика).

  • subplot_titles: название каждого подграфика в виде списка с построчным порядком. В список могут быть включены пустые строки (""), если в этом месте не требуется размещать название подграфика. Это необходимо для правильного индексирования названий.

  • specs: спецификации для каждого подграфика с указанием типа подграфика, расположение по строкам и столбцам и расстояние.

    • Количество строк в параметре specs должно совпадать со значением параметра rows.

    • Количество столбцов в specs.

    • Каждый элемент в списке specs соответствует одному подграфику в сетке подграфиков. (Примечание: в сетке подграфика ровно столько ячеек, сколько rows умножено на cols.)

    • Используется для обозначения пустой ячейки подграфика (или для перемещения за пределы диапазона столбцов/строк).

    • Каждый элемент в specs является экземпляром Spec. Дополнительные сведения см. в документации по Spec.

    • Примечание. Используйте horizontal_spacing и vertical_spacing для настройки интервала между подграфиками.

  • insets: спецификации вставок. Вставки — это подграфики, которые накладываются на подграфики сетки.

    • Каждый элемент в insets является экземпляром Inset. Дополнительные сведения см. в документации по Inset.

  • column_widths: массив длины cols относительной ширины каждого столбца в подграфиках. Значения нормализуются внутренним образом и используются для распределения общей ширины фигуры (без учета заполнения) между столбцами.

  • row_heights: массив длины rows относительной высоты каждой строки подграфиков. Значения нормализуются внутренним образом и используются для распределения общей высоты фигуры (без учета заполнения) между строками.

  • column_titles: список значений длины cols названий, размещаемых над верхним подграфиком в каждом столбце.

  • row_titles: список значений длины rows названий, размещаемых справа от каждой строки подграфиков.

  • x_title: название, размещаемое под нижней строкой подграфиков, выровненное по горизонтали.

  • y_title: название, размещаемое слева от левого столбца подграфиков, выровненное по вертикали