Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

graphviz overlap=ortho: horizontal layout

Tags:

graphviz

I've got an undirected graph made by graphviz tools (now i'm using sfdp):

    digraph structs {
    node [shape=Mrecord, URL="index_new.php?object=\N&overlap=false"];
    overlap = orthoxy;
    bgcolor=transparent;
    splines=true;
    rankdir=TB;
    node [fontname="Arial", fontsize=30, style=filled, fillcolor=chartreuse1, image="../common/img/monitor.png"]struct_swbposad91 [label = "sw-bposad9-1\n192.168.17.141\nC2960 "];
        node [fontname="Arial", fontsize=30, style=filled, fillcolor=chartreuse1, image="../common/img/monitor.png"]struct_swmedikov5fan [label = "sw-medikov5-fan\n192.168.34.134\n "];
        node [fontname="Arial", fontsize=30, style=filled, fillcolor=chartreuse1, image="../common/img/monitor.png"]struct_swlevash131 [label = "sw-levash13-1\n192.168.16.165\nC2960 "];
        node [fontname="Arial", fontsize=30, style=filled, fillcolor=deepskyblue]struct_swpolevsabirov45a [label = "sw-polevsabirov45a\n192.168.18.182\nS2300 "];
...lots of lines goes here...
struct_swkazan71:f450212->struct_swbmorsk181:f450213 [weight=1.2, dir=both, color=black, penwidth=5, arrowhead="empty", arrowtail="odot"];
        struct_swmikh171:f450222->struct_swbotk151:f450223 [weight=1.2, dir=both, color=black, penwidth=1, arrowhead="empty", arrowtail="odot"];
...lots of lines goes here...

here is full code: http://pastebin.com/P3MKTCm2 (it's really large, sorry)

and the output is like this one: (part)

enter image description here

Problem: i need my graph to grow horizontaly instead of verticaly. Is there any way to get the layout like the one on the image, but "rotated" 90 degrees?

like image 904
k102 Avatar asked Dec 26 '11 13:12

k102


1 Answers

A couple of observations made while trying to make something out of the graph:

  • The graph is not big, but the markup sure is redundant - I applied a little love and removed them so one can actually read it (see below)
  • The ports used for the edges do not exist and graphviz generates a load of warnings. While the output is still generated, this is certainly not a good thing.
  • This is a directed graph - digraph and -> are used for directed graphs.
  • overlap=orthoxy seems to be deprecated:

The remaining allowed values of overlap correspond to algorithms which, at present, can produce bad aspect ratios. In addition, we deprecate the use of the "ortho*" and "portho*".

Below the output when simply using overlap=false with sfdp, ignoring all warnings and the missing images:

digraph structs {
    overlap=false;
    bgcolor=transparent;
    splines=true;
    rankdir=TB;
    node [shape=Mrecord, URL="index_new.php?object=\N&overlap=false", fontname="Arial", fontsize=30, style=filled, fillcolor=chartreuse1, image="../common/img/monitor.png"];
    struct_swbposad91 [label = "sw-bposad9-1\n192.168.17.141\nC2960 "];
    struct_swmedikov5fan [label = "sw-medikov5-fan\n192.168.34.134\n "];
    struct_swlevash131 [label = "sw-levash13-1\n192.168.16.165\nC2960 "];
    struct_swkant121 [label = "sw-kant12-1\n192.168.19.9\nC3400 "];
    struct_swpolit91 [label = "sw-polit9-1\n192.168.18.102\n8012M "];
    struct_swbotk151 [label = "sw-botk15-1\n192.168.18.36\nC2960 "];
    struct_swmikh171 [label = "sw-mikh17-1\n192.168.18.37\nC2950 "];
    struct_swchapaeva17 [label = "sw-chapaeva17\n192.168.17.136\n8000S "];
    struct_swsamp871 [label = "sw-samp87-1\n192.168.19.7\nC2960 "];
    struct_swlig291 [label = "sw-lig29-1\n192.168.39.133\nC2960 "];
    struct_swbotk152 [label = "sw-botk15-2\n192.168.19.119\nC2960 "];
    struct_swkubin842 [label = "sw-kubin84-2\n192.168.31.131\nI2110A "];
    struct_swpugacheva571 [label = "sw-pugacheva5/7-1\n192.168.37.144\nI2110A "];
    struct_swbposad92 [label = "sw-bposad9-2\n192.168.17.142\nC3550 "];
    struct_swkapitolk177 [label = "sw-kapitol-k177\n192.168.40.134\n "];
    struct_swkapitolk338 [label = "sw-kapitol-k338\n192.168.40.131\n "];
    struct_swbmorsk181 [label = "sw-bmorsk18-1\n192.168.29.132\nC2960 "];
    struct_swpirog171 [label = "sw-pirog17-1\n192.168.18.40\nSuperStack "];
    struct_swkazan71 [label = "sw-kazan7-1\n192.168.19.228\nC2960 "];
    struct_cskazac9brd [label = "cs-kazac9-brd\n192.168.30.251\nCASR1002F "];
    struct_swgrib1261 [label = "sw-grib126-1\n192.168.19.235\nC2960 "];
    struct_swlenin1391 [label = "sw-lenin139-1\n192.168.31.144\nC2960 "];
    struct_swpirog151 [label = "sw-pirog15-1\n192.168.18.42\nI2110A "];
    struct_swrastr21 [label = "sw-rastr2-1\n192.168.36.130\nC2960 "];
    struct_swkazac92 [label = "sw-kazac9-2\n192.168.17.163\nC2960 "];
    struct_swsmolen331 [label = "sw-smolen33-1\n192.168.17.108\nC2950 "];
    struct_swkubin841 [label = "sw-kubin84-1\n192.168.31.134\nS2300 "];
    struct_swkurskaya40 [label = "sw-kurskaya40\n192.168.26.144\nI2110A "];
    struct_swvolkov171 [label = "sw-volkov17-1\n192.168.17.167\nC2960 "];
    struct_swtall71 [label = "sw-tall7-1\n192.168.37.147\nC2960 "];
    struct_swlevash132 [label = "sw-levash13-2\n192.168.16.174\n8000S "];
    struct_swpetrovkosa11 [label = "sw-petrovkosa1-1\n192.168.16.164\nC2950 "];
    struct_swobuh120e1 [label = "sw-obuh120e-1\n192.168.21.131\nC2960 "];
    struct_swkurch101 [label = "sw-kurch10-1\n192.168.18.104\nC2960 "];
    struct_swsamp873 [label = "sw-samp87-3\n192.168.19.57\nC2960 "];
    struct_swengelsa291 [label = "sw-engelsa29-1\n192.168.18.163\nC2960 "];
    struct_swsamp681 [label = "sw-samp68-1\n192.168.19.4\nC2950 "];
    struct_swsamp421 [label = "sw-samp42-1\n192.168.19.2\nS2300 "];
    struct_swbelovod71 [label = "sw-belovod7-1\n192.168.19.12\nS2300 "];
    struct_swoktyabr381 [label = "sw-oktyabr38-1\n192.168.37.149\n8000S "];
    struct_swural11 [label = "sw-ural1-1\n192.168.28.144\nI2110A "];
    struct_swsamp68style [label = "sw-samp68-style\n192.168.19.10\n8012M "];
    struct_swrevol69 [label = "sw-revol69\n192.168.37.141\n "];
    struct_swlig292 [label = "sw-lig29-2\n192.168.39.134\nSuperStack "];
    struct_swkolom331 [label = "sw-kolom33-1\n192.168.18.181\nC2950 "];
    struct_swchernigov15 [label = "sw-chernigov15\n192.168.26.133\nI2110A "];
    struct_swVO9line344 [label = "sw-VO9line34-4\n192.168.28.142\nI2110A "];
    struct_swbmorsk182 [label = "sw-bmorsk18-2\n192.168.29.133\nC2960 "];
    struct_swdom41 [label = "sw-dom4-1\n192.168.18.226\nC2960 "];
    struct_swnevsky301 [label = "sw-nevsky30-1\n192.168.27.135\nC2960 "];
    struct_swobuh116k11 [label = "sw-obuh116k1-1\n192.168.21.132\n "];
    struct_swkapitol1 [label = "sw-kapitol-1\n192.168.40.145\n "];

    node [fontname="Arial", fontsize=30, style=filled, fillcolor=deepskyblue];
    struct_swpolevsabirov45a [label = "sw-polevsabirov45a\n192.168.18.182\nS2300 "];
    struct_swvarshav111 [label = "sw-varshav11-1\n192.168.20.46\nSuperStack "];
    struct_swtrefol2opor [label = "sw-trefol2-opor\n192.168.31.142\nC2960 "];

    node [fontname="Arial", fontsize=30, style=filled, fillcolor=yellow];
    struct_swVO9line341 [label = "sw-VO9line34-1\n192.168.28.137\nC2960 "];
    struct_swkazac91 [label = "sw-kazac9-1\n192.168.17.104\nC2960 "];
    struct_swVO9line345 [label = "sw-VO9line34-5\n192.168.28.143\nI2924GF "];
    struct_swmagn17a2 [label = "sw-magn17a-2\n192.168.37.133\nSuperStack "];
    struct_swpopova23gajot [label = "sw-popova23-gajot\n192.168.34.133\nC3400 "];
    struct_swVO9line343 [label = "sw-VO9line34-3\n192.168.28.138\nC3400 "];
    struct_swmagnit17a1 [label = "sw-magnit17a-1\n192.168.37.130\nC2960 "];
    struct_swknipovich41 [label = "sw-knipovich4-1\n192.168.39.139\nI2126A "];

    edge[weight=1.2, dir=both, color=black, penwidth=1, arrowhead="empty", arrowtail="odot"];
    struct_swtrefol2opor:f450155->struct_swvarshav111:f450156 [color=red, penwidth=5];
    struct_swkazan71:f450212->struct_swbmorsk181:f450213 [penwidth=5];
    struct_swmikh171:f450222->struct_swbotk151:f450223;
    struct_swpirog171:f450230->struct_swbotk151:f450231;
    struct_swbotk152:f450232->struct_swbotk151:f450233;
    struct_swoktyabr381:f450262->struct_swtall71:f450263;
    struct_swvarshav111:f450291->struct_swlenin1391:f450292;
    struct_swkazac92:f450313->struct_swkazac91:f450314;
    struct_swkazac91:f450321->struct_swkazan71:f450322 [penwidth=5];
    struct_swgrib1261:f450323->struct_swkazan71:f450324;
    struct_cskazac9brd:f450333->struct_swkazac91:f450334;
    struct_swlenin1391:f450335->struct_swkazan71:f450336 [penwidth=5];
    struct_cskazac9brd:f450345->struct_swkazac91:f450346;
    struct_swsmolen331:f450347->struct_swkazac91:f450348;
    struct_swbotk151:f450349->struct_swkazac91:f450350 [penwidth=5];
    struct_cskazac9brd:f450351->struct_swkazac91:f450352;
    struct_swrastr21:f450361->struct_swkazac91:f450362 [penwidth=5];
    struct_swlenin1391:f450363->struct_swkazac91:f450364 [penwidth=5];
    struct_swpirog151:f450379->struct_swpirog171:f450380;
    struct_swkurskaya40:f450383->struct_swvolkov171:f450384;
    struct_swkubin841:f450389->struct_swlenin1391:f450390;
    struct_swkubin842:f450403->struct_swkubin841:f450404;
    struct_swVO9line345:f450431->struct_swbposad91:f450432;
    struct_swbposad92:f450435->struct_swbposad91:f450436;
    struct_swchapaeva17:f450441->struct_swbposad92:f450442;
    struct_swmedikov5fan:f450453->struct_swbposad91:f450454 [penwidth=5];
    struct_swbposad91:f450469->struct_swsamp871:f450470 [penwidth=5];
    struct_swdom41:f450473->struct_swsamp871:f450474 [penwidth=5];
    struct_swkurch101:f450477->struct_swsamp871:f450478;
    struct_swsamp873:f450479->struct_swsamp871:f450480;
    struct_swbposad91:f450487->struct_swsamp871:f450488 [penwidth=5];
    struct_swkant121:f450491->struct_swsamp871:f450492;
    struct_swpolit91:f450493->struct_swsamp871:f450494;
    struct_swengelsa291:f450495->struct_swsamp871:f450496 [penwidth=5];
    struct_swsamp681:f450497->struct_swsamp871:f450498;
    struct_swsamp421:f450499->struct_swsamp871:f450500;
    struct_swrastr21:f450539->struct_swbotk151:f450540 [penwidth=5];
    struct_swpolevsabirov45a:f450605->struct_swkolom331:f450606;
    struct_swbelovod71:f450613->struct_swsamp421:f450614;
    struct_swpopova23gajot:f450630->struct_swmedikov5fan:f450631;
    struct_swural11:f450636->struct_swVO9line345:f450637;
    struct_swlig291:f450652->struct_swkazac91:f450653 [penwidth=5];
    struct_swmagn17a2:f450657->struct_swmagnit17a1:f450658;
    struct_swlevash132:f450674->struct_swlevash131:f450675;
    struct_swmedikov5fan:f450678->struct_swlevash131:f450679 [penwidth=5];
    struct_swpetrovkosa11:f450686->struct_swlevash131:f450687;
    struct_swobuh120e1:f450711->struct_swmagnit17a1:f450712 [penwidth=5];
    struct_swtall71:f450713->struct_swmagnit17a1:f450714;
    struct_swpugacheva571:f450721->struct_swmagnit17a1:f450722;
    struct_swobuh120e1:f450751->struct_swlig291:f450752 [penwidth=5];
    struct_swlig292:f450757->struct_swlig291:f450758;
    struct_swknipovich41:f450763->struct_swlig291:f450764;
    struct_swsamp68style:f450777->struct_swsamp681:f450778;
    struct_swrevol69:f450781->struct_swmagnit17a1:f450782;
    struct_swchernigov15:f450827->struct_swsmolen331:f450828;
    struct_swvolkov171:f450835->struct_swsmolen331:f450836;
    struct_swobuh116k11:f450852->struct_swobuh120e1:f450853;
    struct_swmagnit17a1:f450926->struct_swbotk151:f450927 [penwidth=5];
    struct_swnevsky301:f450932->struct_swkazan71:f450933;
    struct_swbmorsk182:f450948->struct_swbmorsk181:f450949;
    struct_swkazan71:f450952->struct_swbmorsk181:f450953 [penwidth=5];
    struct_swbmorsk181:f450972->struct_swVO9line341:f450973 [penwidth=5];
    struct_swVO9line344:f450986->struct_swVO9line341:f450987;
    struct_swVO9line343:f450994->struct_swVO9line341:f450995 [color=Red, penwidth=5];
    struct_swbmorsk181:f450998->struct_swVO9line341:f450999 [penwidth=5];
    struct_swlevash131:f451004->struct_swVO9line341:f451005 [penwidth=5];
    struct_swkapitolk177:f451031->struct_swkapitol1:f451032;
    struct_swkapitolk338:f451033->struct_swkapitol1:f451034;
    struct_swkolom331:f451084->struct_swengelsa291:f451085;
    struct_swdom41:f451086->struct_swengelsa291:f451087 [penwidth=5];
    struct_swVO9line345:f451139->struct_swVO9line341:f451140;
    struct_swsamp871:f451157->struct_swbotk151:f451158 [penwidth=5];
    struct_swVO9line345:f451161->struct_swVO9line341:f451162;
    struct_swbotk151:f451177->struct_swkazac91:f451178 [penwidth=5];
    struct_swsamp871:f451184->struct_swbotk151:f451185 [penwidth=5];
    struct_swkazac91:f451186->struct_swkazan71:f451187 [penwidth=5];
    struct_swVO9line345:f451190->struct_swbposad91:f451191;
}

enter image description here

And here the same with dot:

enter image description here

like image 131
marapet Avatar answered Sep 19 '22 01:09

marapet