#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()