Вот техника, которую вы можете рассмотреть, чтобы избежать необходимости создания пользовательской формы узла.Могут возникнуть некоторые вопросы вкуса, которые вам, возможно, придется рассмотреть дальше, чтобы получить именно то, что вы хотите.
Преимущество этого метода, использующего HTML-подобные метки , заключается в том, чтопространство внутри и снаружи прямоугольника становится простым вопросом изменения внутреннего числа точек (здесь 4) и внешнего числа точек (здесь 16) соответственно.
digraph {
node [shape=none]
O [label=<
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="16" CELLPADDING="4">
<TR><TD WIDTH="70">\N</TD></TR>
</TABLE>
>]
{a,b,c,d} -> O
}
Результат:
Вы можете изменить параметры BORDER и CELLBORDER, чтобы показать или скрыть прямоугольники.Вы можете отрегулировать их толщину, но только кратно 1 баллу.Я использовал параметр WIDTH, чтобы задать соотношение ширины и высоты, которое вызывает выравнивание всех наконечников стрелок.В противном случае некоторые из наконечников встретились бы со сторонами невидимого внешнего прямоугольника.