Overlay county = ortho: horizontal layout

I have an undirected graph created using graphviz tools (now I use 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 the full code: http://pastebin.com/P3MKTCm2 (this is really big, sorry)

and the result is as follows: (part)

enter image description here

Problem: I need my chart to grow horizontally, not vertically. Is there a way to get a layout like the one in the image, but โ€œrotatedโ€ 90 degrees?

+6
source share
2 answers

A few observations made while trying to do something from the graph:

  • The graph is small, but the markup is correct redundant - I applied a little love and deleted them so that I could read it (see below).
  • The ports used for edges do not exist, and graphviz generates a warning load. While the result is still generated, this, of course, is not very good.
  • This is a directed graph - digraph and -> are used for directed graphs.
  • overlap=orthoxy seems deprecated:

The remaining acceptable overlap values โ€‹โ€‹correspond to algorithms that can currently create poor proportions. In addition, we abandon the use of "ortho *" and "portho *".

Below is the output when simply using overlap=false with sfdp, ignoring all warnings and 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 is the same with the dot:

enter image description here

+5
source

Have you tried using [rankdir = TB]?

http://www.graphviz.org/doc/info/attrs.html#d:rankdir

Maybe there is something that I am missing, because rankdir = TB should be the default. Your sample chart has rankdir = LR, but you did not specify it. (Also, your chart looks like a directed graph, but you pointed to an undirected one.)

+1
source

Source: https://habr.com/ru/post/904489/


All Articles