2011-12-26 263 views
6

我得通過graphviz的工具製造(現在,我使用sfdp)無向圖:graphviz的重疊=鄰:橫向佈局

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... 

這裏是全碼:http://pastebin.com/P3MKTCm2(這是真的大了,不好意思)

和輸出是這樣的一種:(份)

enter image description here

問題:我需要我的曲線圖,以代替horizo​​ntaly成長的垂直年。有沒有什麼辦法讓圖像上的佈局像「旋轉」90度一樣?

+0

這種看起來像有向圖,而你的短樣本表示有向圖(使用'digraph')。如果您使用具有有向邊(' - >')的'digraph'或帶有無向邊的'graph'('--'),'sfdp'只會生成輸出。總之,如果你發佈了一個完整的圖表來處理,那將會更容易。順便說一句,在定義節點的url時,我必須在雙引號前刪除反斜槓。 – marapet 2012-02-04 13:58:58

+0

@marapet我編輯了我的問題,並將所有點代碼放入pastebin – k102 2012-02-07 08:03:13

回答

5

一對夫婦,同時試圖讓出來的東西圖的提出的意見:

  • 圖爲並不大,但標記肯定是多餘的 - 我應用了一點愛,並刪除它們,以便實際上可以讀取它(見下文)
  • 用於邊緣的端口不存在,graphviz生成警告負載。儘管輸出仍然生成,但這當然不是一件好事。
  • 這個有向圖-digraph->用於有向圖
  • overlap=orthoxy似乎被棄用:只需使用overlap=false與小農發展方案時,忽略所有的警告和丟失的圖像

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*".

以下的輸出:

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

這裏與點相同:

enter image description here

+0

謝謝!是的,我知道未使用的端口:圖形有兩種選擇(帶和不帶端口)。我有'dot'的正確圖像,(這很棒:)但不能得到'sfdp'輸出看起來像你的。您使用的是什麼版本的graphviz?你有沒有安裝三角測量庫? – k102 2012-02-09 06:05:39

+0

我必須檢查另一個盒子,但肯定是2.29(在窗口中)。我不知道任何三角測量庫(?)。 – marapet 2012-02-09 13:05:31

+0

使用sfdp時出現錯誤:'錯誤:remove_overlap:Graphviz未使用三角測量庫(2.28 freeBSD)構建。它的工作原理,但我不知道該怎麼辦... – k102 2012-02-09 13:41:24

1

您是否嘗試過使用[rankdir = TB]?

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

有可能是我失去了一些東西,因爲rankdir = TB應該是默認的。您的示例圖似乎具有rankdir = LR,但您沒有提及指定它。 (另外你的圖看起來像一個有向圖,但你表示無向)。

+0

它是無向的 - 我使用sfdp過濾器 – k102 2011-12-27 05:00:56

+0

我編輯了我的問題並添加了完整的代碼。你有更多的想法嗎? – k102 2012-02-08 06:32:15