Graphviz альтернативы? [закрыто
-
25-10-2019 - |
Вопрос
Я ищу альтернативы Graphviz. Я использую GraphViz более десяти лет, и все в порядке, но макеты просто не создают для меня графики качества публикации, учитывая мои входные данные. Иногда мои данные действительно большие и сложные, а иногда это не так, но Graphviz никогда не делает вещи красивыми.
Какие еще инструменты визуализации графика используют люди? В идеале есть один, который использует синтаксис GraphViz для входного файла.
Здесь, например, входной файл, с которым я играю:
digraph mdc {
size="4,8";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0PAN0-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0047-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0048-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0050-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0051-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0052-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0009-FOO";
"KJ16:76:A2:60:6E" -> "JUNK-0413-FOO";
"KJ16:76:A2:60:6E" -> "JUNK-0414-FOO";
"KJE0:D0:13:14:94" -> "GEORGE42-FRED";
"KJE0:D0:13:14:94" -> "MY5-30-FRED";
"KJ50:04:EE:6C:F9" -> "PSPAN-036-FRED";
"KJ50:04:EE:6C:F9" -> "GEORGE02-FRED";
"KJ50:04:EE:6C:F9" -> "GEORGE04-FRED";
"KJ1B:B9:9B:D5:BB" -> "JUNK-0047-FOO";
"KJ1B:B9:9B:D5:BB" -> "JUNK-0048-FOO";
"KJ05:5F:EF:14:PAN" -> "thPAN-PAN-FRED";
"KJ05:5F:EF:14:PAN" -> "cn20-PAN-FRED";
"KJ15:F2-KIM-:E5YF" -> "thPAN-PAN-FRED";
"KJ15:F2-KIM-:E5YF" -> "cn20-PAN-FRED";
"KJ0E:90:D5:E6:5E" -> "JUNK-0051-FOO";
"KJ0E:90:D5:E6:5E" -> "JUNK-0009-FOO";
"KJ1E:90:DE:F1:07" -> "JUNK-0051-FOO";
"KJ1E:90:DE:F1:07" -> "JUNK-0009-FOO";
"KJ1E:90:D5:EE:5E" -> "JUNK-0051-FOO";
"KJ1E:90:D5:EE:5E" -> "JUNK-0047-FOO";
"KJ1E:90:D5:EE:5E" -> "JUNK-0009-FOO";
"KJ04:ED:66:C7:19" -> "JUNK-0562-FOO";
"KJ04:ED:66:C7:19" -> "JUNK-0561-FOO";
"KJ1B:B9:9C-PET-67" -> "JUNK-0047-FOO";
"KJ1B:B9:9C-PET-67" -> "JUNK-0049-FOO";
"PAN:KJ5E:7F:FF:FA" -> "JUNK-0PAN4-FOO";
"PAN:KJ5E:7F:FF:FA" -> "PSPAN-021-FRED";
"PAN:KJ5E:7F:FF:FA" -> "GEORGE38-FRED";
"PAN:KJ5E:7F:FF:FA" -> "JUNK-0095-FOO";
"PAN:KJ5E:7F:FF:FA" -> "JUNK-PAN18-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0PAN0-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0051-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0052-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0009-FOO";
"KJ26:18:BD:D9:E9" -> "JUNK-0562-FOO";
"KJ26:18:BD:D9:E9" -> "JUNK-0561-FOO";
"KJD0:B7:69:0A-VET" -> "cn4-06-FRED";
"KJD0:B7:69:0A-VET" -> "1039-FRED";
"KJ50:04:EE:6C:F9" [fontsize=96,shape=oval]
"KJ1E:90:DE:F1:07" [fontsize=96,shape=oval]
"KJ05:5F:EF:14:PAN" [fontsize=96,shape=oval]
"KJ26:18:BD:D9:E9" [fontsize=96,shape=oval]
"KJ1B:B9:9B:D5:BB" [fontsize=96,shape=oval]
"KJE0:D0:13:14:94" [fontsize=96,shape=oval]
"KJ0E:90:D5:E6:5E" [fontsize=96,shape=oval]
"KJ1E:A6:PAN:9E:3A" [fontsize=96,shape=oval]
"KJ1E:90:D5:EE:5E" [fontsize=96,shape=oval]
"PAN:KJ5E:7F:FF:FA" [fontsize=96,shape=oval]
"KJ1B:B9:9B:D3:61" [fontsize=96,shape=oval]
"KJ1B:B9:9C-PET-67" [fontsize=96,shape=oval]
"KJ15:F2-KIM-:E5YF" [fontsize=96,shape=oval]
"KJD0:B7:69:0A-VET" [fontsize=96,shape=oval]
"KJ04:ED:66:C7:19" [fontsize=96,shape=oval]
"KJ16:76:A2:60:6E" [fontsize=96,shape=oval]
"JUNK-0009-FOO" [fontsize=96,shape=box3d]
"GEORGE38-FRED" [fontsize=96,shape=box3d]
"JUNK-0413-FOO" [fontsize=96,shape=box3d]
"JUNK-0561-FOO" [fontsize=96,shape=box3d]
"JUNK-0050-FOO" [fontsize=96,shape=box3d]
"cn20-PAN-FRED" [fontsize=96,shape=box3d]
"JUNK-PAN18-FOO" [fontsize=96,shape=box3d]
"1039-FRED" [fontsize=96,shape=box3d]
"JUNK-0095-FOO" [fontsize=96,shape=box3d]
"PSPAN-021-FRED" [fontsize=96,shape=box3d]
"JUNK-0048-FOO" [fontsize=96,shape=box3d]
"JUNK-0052-FOO" [fontsize=96,shape=box3d]
"GEORGE42-FRED" [fontsize=96,shape=box3d]
"JUNK-0049-FOO" [fontsize=96,shape=box3d]
"GEORGE04-FRED" [fontsize=96,shape=box3d]
"cn4-06-FRED" [fontsize=96,shape=box3d]
"thPAN-PAN-FRED" [fontsize=96,shape=box3d]
"GEORGE02-FRED" [fontsize=96,shape=box3d]
"JUNK-0PAN0-FOO" [fontsize=96,shape=box3d]
"MY5-30-FRED" [fontsize=96,shape=box3d]
"JUNK-0047-FOO" [fontsize=96,shape=box3d]
"JUNK-0562-FOO" [fontsize=96,shape=box3d]
"JUNK-0PAN4-FOO" [fontsize=96,shape=box3d]
"JUNK-0051-FOO" [fontsize=96,shape=box3d]
"PSPAN-036-FRED" [fontsize=96,shape=box3d]
"JUNK-0414-FOO" [fontsize=96,shape=box3d]
}
(Все из fontsize=96
моя тщетная попытка получить graphviz
Чтобы сделать шрифт более читаемым, но, видимо, он не работает.)
Решение
Что там не нравится?
Я лично не использовал бы Box3d, и мой выбор цветов, вероятно, причиняет боль ...
(Полноразмерное изображение: http://i.stack.imgur.com/mte6n.png )
РЕДАКТИРОВАТЬ:
Вот модифицированный точечный код - я немного его реорганизовал:
digraph {
size="11,11";
layout=neato;
overlap=false;
splines=true;
pack=true;
start="random";
sep=0.1;
edge [len=2];
node[shape=oval,style=filled,fillcolor="#DCA80A"];
"KJ50:04:EE:6C:F9"
"KJ1E:90:DE:F1:07"
"KJ05:5F:EF:14:PAN"
"KJ26:18:BD:D9:E9"
"KJ1B:B9:9B:D5:BB"
"KJE0:D0:13:14:94"
"KJ0E:90:D5:E6:5E"
"KJ1E:A6:PAN:9E:3A"
"KJ1E:90:D5:EE:5E"
"PAN:KJ5E:7F:FF:FA"
"KJ1B:B9:9B:D3:61"
"KJ1B:B9:9C-PET-67"
"KJ15:F2-KIM-:E5YF"
"KJD0:B7:69:0A-VET"
"KJ04:ED:66:C7:19"
"KJ16:76:A2:60:6E"
node[shape=box3d,style=filled,fillcolor="#B1C3D4"];
"JUNK-0009-FOO"
"GEORGE38-FRED"
"JUNK-0413-FOO"
"JUNK-0561-FOO"
"JUNK-0050-FOO"
"cn20-PAN-FRED"
"JUNK-PAN18-FOO"
"1039-FRED"
"JUNK-0095-FOO"
"PSPAN-021-FRED"
"JUNK-0048-FOO"
"JUNK-0052-FOO"
"GEORGE42-FRED"
"JUNK-0049-FOO"
"GEORGE04-FRED"
"cn4-06-FRED"
"thPAN-PAN-FRED"
"GEORGE02-FRED"
"JUNK-0PAN0-FOO"
"MY5-30-FRED"
"JUNK-0047-FOO"
"JUNK-0562-FOO"
"JUNK-0PAN4-FOO"
"JUNK-0051-FOO"
"PSPAN-036-FRED"
"JUNK-0414-FOO"
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0PAN0-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0047-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0048-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0050-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0051-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0052-FOO";
"KJ1E:A6:PAN:9E:3A" -> "JUNK-0009-FOO";
"KJ16:76:A2:60:6E" -> "JUNK-0413-FOO";
"KJ16:76:A2:60:6E" -> "JUNK-0414-FOO";
"KJE0:D0:13:14:94" -> "GEORGE42-FRED";
"KJE0:D0:13:14:94" -> "MY5-30-FRED";
"KJ50:04:EE:6C:F9" -> "PSPAN-036-FRED";
"KJ50:04:EE:6C:F9" -> "GEORGE02-FRED";
"KJ50:04:EE:6C:F9" -> "GEORGE04-FRED";
"KJ1B:B9:9B:D5:BB" -> "JUNK-0047-FOO";
"KJ1B:B9:9B:D5:BB" -> "JUNK-0048-FOO";
"KJ05:5F:EF:14:PAN" -> "thPAN-PAN-FRED";
"KJ05:5F:EF:14:PAN" -> "cn20-PAN-FRED";
"KJ15:F2-KIM-:E5YF" -> "thPAN-PAN-FRED";
"KJ15:F2-KIM-:E5YF" -> "cn20-PAN-FRED";
"KJ0E:90:D5:E6:5E" -> "JUNK-0051-FOO";
"KJ0E:90:D5:E6:5E" -> "JUNK-0009-FOO";
"KJ1E:90:DE:F1:07" -> "JUNK-0051-FOO";
"KJ1E:90:DE:F1:07" -> "JUNK-0009-FOO";
"KJ1E:90:D5:EE:5E" -> "JUNK-0051-FOO";
"KJ1E:90:D5:EE:5E" -> "JUNK-0047-FOO";
"KJ1E:90:D5:EE:5E" -> "JUNK-0009-FOO";
"KJ04:ED:66:C7:19" -> "JUNK-0562-FOO";
"KJ04:ED:66:C7:19" -> "JUNK-0561-FOO";
"KJ1B:B9:9C-PET-67" -> "JUNK-0047-FOO";
"KJ1B:B9:9C-PET-67" -> "JUNK-0049-FOO";
"PAN:KJ5E:7F:FF:FA" -> "JUNK-0PAN4-FOO";
"PAN:KJ5E:7F:FF:FA" -> "PSPAN-021-FRED";
"PAN:KJ5E:7F:FF:FA" -> "GEORGE38-FRED";
"PAN:KJ5E:7F:FF:FA" -> "JUNK-0095-FOO";
"PAN:KJ5E:7F:FF:FA" -> "JUNK-PAN18-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0PAN0-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0051-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0052-FOO";
"KJ1B:B9:9B:D3:61" -> "JUNK-0009-FOO";
"KJ26:18:BD:D9:E9" -> "JUNK-0562-FOO";
"KJ26:18:BD:D9:E9" -> "JUNK-0561-FOO";
"KJD0:B7:69:0A-VET" -> "cn4-06-FRED";
"KJD0:B7:69:0A-VET" -> "1039-FRED";
}
Вы можете увидеть и изменить его здесь: http://graph.gafol.net/dlqgphjrc - Этот сайт использует хорошие пресеты для шрифтов и шрифтов.
Обратите внимание, что я добавил start=random
, следовательно, макет может отличаться каждый раз, когда вы создаете график.
Другие советы
Гефи это удивительно хорошее программное обеспечение для визуализации графика с открытым исходным кодом. Он использует точечный язык, такой как Graphviz.