Справка по API
#
Base.size
— Function
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.circle
— Function
Строит окружность из 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.hline
— Function
hline(y, fields::AbstractDict=Dict{Symbol,Any}(); kwargs...)
Строит горизонтальные линии в каждой точке y
, которые охватывают ширину графика.
#
PlotlyBase.launch_browser
— Function
Открывает вкладку браузера с данным html-файлом.
#
PlotlyBase.line
— Function
Строит линию через точки (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.path
— Function
Строит произвольный путь в формате SVG.
#
PlotlyBase.prependtraces!
— Function
prependtraces!(p::Plot, update::AbstractDict, indices::AbstractVector{Int}=[1],
maxpoints=-1)
API для prependtraces
эквивалентен API для extendtraces
, за исключением того, что данные добавляются не в конец, а в начало атрибутов линий. Дополнительные сведения см. в этих строках docstring.
#
PlotlyBase.rect
— Function
Строит прямоугольник, соединяющий (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.sizes
— Function
При заданном количестве строк и столбцов возвращает NTuple{4,Float64}, содержащий (width, height, vspace, hspace)
, где width
и height
являются высотой и шириной каждого подграфика, а vspace
и hspace
— вертикальным и горизонтальным интервалами между подграфиками, соответственно.
#
PlotlyBase.stem
— Function
stem(; y, stem_color, stem_thickness, kwargs...)
Создает линию типа «ствол» (stem) или «леденец». Реализуется с помощью типа scatter
в plotly.js с использованием строк погрешностей для построения ствола.
Именованные аргументы:
-
Все свойства, принимаемые
scatter
, за исключениемerror_y
, которое используется для построения стволов. -
stem_color — задает цвет стволов
-
stem_thickness — задает толщину стволов
#
PlotlyBase.to_html
— Function
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_map
— Function
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.vline
— Function
vline(x, fields::AbstractDict=Dict{Symbol,Any}(); kwargs...)
Строит вертикальные линии в каждой точке x
, которые располагаются по высоте графика.
#
PlotlyJS.savefig
— Function
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.Inset
— Type
Parameters
-
cell
: индекс ячейки подграфика для наложения осей вставки. -
kind
: вид подграфика (см. документацию поSpec
) -
l
: отступы слева от вставки в долях ширины ячейки -
w
: ширина вставки в долях от ширины ячейки ('to_end': до правого края ячейки) -
b
: отступы снизу от вставки в долях высоты ячейки -
h
: высота вставки в долях от высоты ячейки ('to_end': до верхнего края ячейки)
#
PlotlyBase.PlotConfig
— Type
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.Spec
— Type
Параметры
-
kind
типа подграфика. Один из следующих: — xy: тип двумерного декартова подграфика для графика рассеяния, линейного графика и т. д. — scene: тип трехмерного декартова подграфика для трехмерного графика рассеяния, конусовидного графика и т. д. — polar: полярный подграфик для полярного графика рассеяния, полярного линейного графика и т. д. — ternary: тернарный подграфик для тернарного графика рассеяния — mapbox: подграфик mapbox для графика mapbox рассеяния — domain: тип подграфика для линий с индивидуальным расположением. Круговой, с параллельными координатами и т. д. — Тип линии: укажите здесь название типа линии, и мы определим подходящий вид подграфика. -
secondary_y
: Если true, создается дополнительная ось y, расположенная в правой части подграфика. Допустим, только если kind="xy". -
colspan
: количество столбцов подграфика, которое будет занимать данный подграфик. -
rowspan
: количество строк подграфика, которое будет занимать данный подграфик. -
l
: отступы слева от ячейки -
r
: отступы справа от ячейки -
t
: отступы сверху от ячейки -
b
: отступы снизу от ячейки
#
PlotlyBase.Subplots
— Type
Параметры
-
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
: название, размещаемое слева от левого столбца подграфиков, выровненное по вертикали