Сам факт, что он принимает ** kwargs, означает, что любые аргументы ключевого слова, которые вы передаете функции, являются допустимыми.
Это обычно делается для оболочек низкоуровневых реализаций.Это имеет преимущество в том, что нет необходимости изменять промежуточную функцию (ту, которую вы вызываете - например, bokeh.figure, которая внутренне вызывает функцию matplotlib).
Недостатком является то, что, поскольку она принимает любые аргументы ключевого слова, онаочень трудно поддерживать документацию для него, поскольку вам придется обновлять документацию при изменении реализации промежуточной функции, а также при изменении реализации базовой функции.
Это очень распространенная практика для большого количества данных.-science библиотеки (хотя вы обнаружите, что некоторые очень популярные библиотеки проходят кропотливый процесс поддержки документации, например, matplotlib).
В целом, эти промежуточные функции обычно принимают (* args и ** kwargs), так какфигура боке не принимает его, вы не можете передать ему что-то вроде рисунка (1, 2, 3).
Если вы впервые сталкиваетесь с чем-то ** (распаковка списков и словарей в качестве аргументов),это может быть хорошимВремя для поиска в Google тоже самое, так как это очень распространенное явление.
Что касается приемлемых аргументов, я нашел следующее:
Аргументы ключевых слов: Документация по рисункам
active_drag (Either (Auto, String, Instance)(Drag))): какой инструмент перетаскивания должен быть изначально активным.(по умолчанию: 'auto')
active_inspect (Либо (Auto, String, Instance (Inspection), Seq (Instance (Inspection))))): какой инструмент перетаскивания должен изначально быть активным.(по умолчанию: 'auto')
active_scroll (Either (Auto, String, Instance (Scroll))): какой инструмент прокрутки изначально должен быть активным.(по умолчанию: 'auto')
active_tap (Either (Auto, String, Instance (Tap))): какой инструмент нажатия изначально должен быть активным.(по умолчанию: 'auto')
tools (Either (String, Seq (Either (String, Instance (Tool))))): Инструменты, с которых должен начинаться график.(по умолчанию: 'pan, wheel_zoom, box_zoom, сохранить, сбросить, помочь')
подсказки (Либо (String, List (Tuple (String, String))))): необязательный аргумент для настройки всплывающих подсказок для рисунка,Этот аргумент принимает те же значения, что и свойство HoverTool.tooltips.Если в аргументе инструментов указан инструмент наведения, это значение переопределит значение всплывающей подсказки для инструментов наведения.Если в аргументе tools не указан инструмент наведения, то передача здесь всплывающих подсказок приведет к их созданию и добавлению.(по умолчанию: Нет)
x_axis_label (String): метка для оси X.(по умолчанию: '')
x_axis_location (Enum (VerticalLocation)): где должна располагаться ось X.(по умолчанию: «ниже»)
x_axis_type (Either (Auto, Enum (Enumeration (linear, log, datetime, mercator)))): Тип оси x.(по умолчанию: 'auto')
x_minor_ticks (Either (Auto, Int)): Количество второстепенных тиков между соседними главными тиками оси x.(по умолчанию: 'auto')
x_range (Any): настройка диапазона x графика.(по умолчанию: Нет)
y_axis_label (String): метка для оси Y.(по умолчанию: '')
y_axis_location (Enum (HorizontalLocation)): где должна располагаться ось Y.(по умолчанию: 'left')
y_axis_type (Either (Auto, Enum (Enumeration (linear, log, datetime, mercator)))): Тип оси Y.(по умолчанию: 'auto')
y_minor_ticks (Either (Auto, Int)): Количество второстепенных тиков между соседними главными тиками оси y.(по умолчанию: 'auto')
y_range (Any): настройка диапазона x графика.(по умолчанию: нет)
.