Как вывести многострочный текст в ноде Graphviz

Граф создается в цикле - данных много. В аргумент label надо вывести многострочный текст с учетом фиксированной длины фигуры. Решение с переводом строки "\n" не очень удобно.

Условный пример кода:

from graphviz import Graph

g = Graph('G', node_attr={'shape':'box'})
g.node('A', label='Структурированное хранение типовых проектно-конструкторских решений', 
       width='2.5', fixedsize='true')

g


Ответы (1 шт):

Автор решения: Boris Zhuravlev

Не знаю, что означает отсутствие ответа на мой вопрос - кажется, спросил о простой вещи... Если нет решения, исключающее применения "\n", то у меня получилось следующее:

def multiline_label(label, align='\n', len_string=25):
    word_label = label.split(' ')
    count_char = 0
    label_out = ''
    for i, word in enumerate(word_label):
        count_char += len(word)
        if count_char <= len_string:
            label_out = ''.join(label_out + ' ' + word)
        else:
            label_out = ''.join(label_out + align)
            count_char = 0
    label_out = ''.join(label_out + ' ' + word)    
    return label_out

from graphviz import Graph

g = Graph('G', node_attr={'shape':'box'}, filename='my_comment.gv', format='svg')
label = 'Структурированное хранение типовых проектно-конструкторских решений'
g.node('A', label=multiline_label(label), style='rounded',
       width='2.5', fixedsize='false')
g

Спасибо, конечно...

→ Ссылка