Holoviews: как можно сохранить макет субфигуры в виде нескольких файлов?

Программы набора текста, такие как LaTeX, часто требуют отдельных файлов изображений для каждого элемента макета подсюжета. Можно ли сохранить каждый отдельный компонент макета Holoviews в виде отдельного файла? Как бы то ни было, серверная часть matplotlib выводит один SVG со всеми тремя элементами макета рядом. Проблема с решением грубой силы, когда каждый график просто строится отдельно, заключается в том, что графики не нормализованы по отношению друг к другу, как если бы они были частью макета.


person Bonnevie    schedule 18.06.2018    source источник


Ответы (1)


С бэкэндом matplotlib, если вы хотите вернуться к базовой фигуре matplotlib, вы можете вызвать hv.renderer('matplotlib').get_plot(your_layout_variable).state, и она должна вернуть вам фигуру matplotlib, и вы можете вызвать fig.get_children() для циклического прохождения и сохранения.

import holoviews as hv
import numpy as np
hv.extension('matplotlib')

fig = hv.renderer('matplotlib').get_plot(hv.Curve((np.arange(0, 10))) + hv.Curve((np.arange(0, 10)))).state
fig.get_children()

введите здесь описание изображения


Если вы используете бэкэнд боке, когда вы нажимаете значок «Сохранить» на панели инструментов в любом макете, он сохраняет каждый элемент в макете отдельно в виде файла png.

Если вы хотите использовать SVG отдельно, используя бэкенд боке, я создал инструмент для индивидуального сохранения SVG https://holoext.readthedocs.io/en/latest/examples/save_to_png_svg.html

person Andrew    schedule 19.06.2018