сохранение сэнки в файл из jupyter

#python #jupyter-notebook #sankey-diagram

Вопрос:

У меня есть цикл, в котором я хочу отрисовать несколько сэнки в файлы .png.

Проверка некоторых документов здесь: https://nbviewer.jupyter.org/github/ricklupton/ipysankeywidget/blob/master/examples/Exporting Images.ipynb

Я бы ожидал sankey.save_svg('test.svg') , что буду работать.

Из чтения этих документов следует предостережение, что попытка отобразить, а затем сохранить не сработает, но я не пытаюсь отобразить, я просто хочу сохранить список изображений. Однако я получаю ту же warnings.warn('No png image available! Try auto_save_png() instead?') ошибку и не могу сохранить.

Если я запускаю по одной строке за раз, возвращаю sankey и позволяю ему отображаться при обычном запуске записной книжки python, все работает нормально… Так что, похоже, что-то происходит, когда вы позволяете ноутбуку отображать сэнки, чего не происходит, когда я просто пытаюсь в цикле отобразить их в файлы.

 from ipywidgets import Layout
from ipysankeywidget import SankeyWidget

def draw_one(use_case, limit=50):
    df = Cli.query_paths(use_case=use_case, limit=limit)

    layout = Layout(width="2000", height="500")
    fpath = f'./data/ignored/images/{use_case}-{limit}.png'

    # with or without: .auto_save_png(fpath)
    sankey = SankeyWidget(links=df.to_dict('records'), layout=layout) 
    sankey.save_png(fpath)

cases = [
'INTL',
'PAC',
]

def loop():
    for use_case in cases:
        print('sk:', use_case)
        sk = draw_one(use_case, limit=50)

loop()