Инструменты управления в голоизображениях (бэкэнд боке) с наложенными графикамиPython

Программы на Python
Anonymous
Инструменты управления в голоизображениях (бэкэнд боке) с наложенными графиками

Сообщение Anonymous »

Это расширение статьи «Как управлять активными инструментами в голоизображениях с боке», но применимое к наложенным графикам. Похоже, что все графики должны использовать один и тот же набор инструментов, чтобы получить то, что вы хотите.
E. г. Я хотел бы вообще избавиться от масштабирования колесика, но активировать масштабирование поля. Кроме того, в списке инструментов должны быть полноэкранный режим, перекрестие и сброс.
Варианты для этого: .opts(tools=['fullscreen', 'crosshair', 'reset'], default_tools=["box_zoom"])
Минимальный рабочий пример:

Код: Выделить всё

import holoviews as hv
hv.extension('bokeh')

p1 = hv.Curve([1, 3, 2])
p2 = hv.Curve([4, 6, 6])
(p1 * p2)
Получается следующая (стандартная) панель инструментов:
Изображение

Теперь поместите .opts в оверлей:

Код: Выделить всё

(p1 * p2).opts(tools=['fullscreen', 'crosshair', 'reset'], default_tools=["box_zoom"])
Это ничего не меняет, только масштабирование колеса больше не активно:
Изображение

Теперь дополнительно снабдим один из лежащих в основе графиков нашими опциями:

Код: Выделить всё

(p1.opts(tools=['fullscreen', 'crosshair', 'reset'], default_tools=["box_zoom"]) * p2).opts(tools=['fullscreen', 'crosshair', 'reset'], default_tools=["box_zoom"])
Это продвинет нас немного дальше, поскольку теперь у меня есть нужные инструменты. К сожалению, и другие инструменты:
Изображение

Наконец, предоставьте все графики с опциями:

Код: Выделить всё

(p1.opts(tools=['fullscreen', 'crosshair', 'reset'], default_tools=["box_zoom"])
* p2.opts(tools=['fullscreen', 'crosshair', 'reset'], default_tools=["box_zoom"])
).opts(tools=['fullscreen', 'crosshair', 'reset'], default_tools=["box_zoom"])
Это дает нам то, что мы хотим:
Изображение

Есть ли лучший способ получить именно те инструменты, которые мне нужны?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ayed-plots

Вернуться в «Python»