graphviz - How to create a graph with both ortho and curved edges? -


i have create graph with:

  • nodes in cluster sub-graphs
  • orthogonal relationships between nodes in each cluster
  • and curved relationships between nodes in different cluster.

with graph[splines=ortho] in root graph, edges orthogonal; edges disappear if splines specified in sub-graphs.

so, possible define both types of edges, ortho , curved?

example: dotted edges should curved, while bold edges should orthogonal.

digraph { graph[splines=ortho,nodesep=1];    concentrate=false; subgraph cluster_t1288941 { style=filled; labelloc=t; labeljust=l; tooltip="rapprochement bancaire - import static data" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_rabq_sta</b>>;    t1288941u4294467_1 [label=<<b>int_rabq_sta__d</b><br/>ani>,tooltip="[deb] import statiq&#10;=c01   "];     t1288941u4294465_2 [label=<<b>int_rabq_sta_01</b><br/>->,tooltip="[rabq] import static data&#10;=c01 , =c02   "]; t1288941u4294467_1 -> t1288941u4294465_2  [color=forestgreen];     t1288941u4294468_4 [label=<<b>int_rabq_sta__f</b><br/>->,tooltip="[fin] import statiq&#10;=c01   "];    t1288941u4294467_1 -> t1288941u4294468_4  [color=forestgreen];     t1288941u4294443_3 [label=<<b>int_rabq_archivage_static</b><br/>->,tooltip="[rabq] arch/move des fic chargement_static_data rf0 t00 et log&#10;"];  t1288941u4294465_2 -> t1288941u4294443_3  [color=forestgreen];  } subgraph cluster_t1288944 { style=filled; labelloc=t; labeljust=l; tooltip="rapprochement bancaire" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_rabq_bnq</b>>; t1288944u4294452_1 [label=<<b>int_rabq_bnq__d</b><br/>ani>,tooltip="[deb] rapprochement bancaire&#10;=c01   "];     t1288944u4294444_2 [label=<<b>int_rabq_bnq_00</b><br/>rni_afb120>,tooltip="[rabq] controle de doublons&#10;"];  t1288944u4294452_1 -> t1288944u4294444_2  [color=forestgreen];     t1288944u4294448_6 [label=<<b>int_rabq_bnq_04</b><br/>rni_mt940>,tooltip="[rabq] renommage fichiers mt940 .rcv en .acc&#10;"];  t1288944u4294452_1 -> t1288944u4294448_6  [color=forestgreen];     t1288944u4294439_8 [label=<<b>int_rabq_archivage_bnq</b><br/>->,tooltip="[rabq] arch/move rdc,all,mt940,p* .ori .log .t00 .rf0&#10;=c01   "];   t1288944u4294452_1 -> t1288944u4294439_8  [color=forestgreen];     t1288944u4294449_9 [label=<<b>int_rabq_bnq_05</b><br/>->,tooltip="[rabq] traitement de matching&#10;=c01 , =c02 , =c03   "];    t1288944u4294452_1 -> t1288944u4294449_9  [color=forestgreen];     t1288944u4294450_10 [label=<<b>int_rabq_bnq_06</b><br/>->,tooltip="[rabq] reporting&#10;=c01 or =c02   "];  t1288944u4294452_1 -> t1288944u4294450_10  [color=forestgreen];     t1288944u4294453_11 [label=<<b>int_rabq_bnq__f</b><br/>->,tooltip="[fin] rapprochement bancaire&#10;=c02 , =c01   "]; t1288944u4294452_1 -> t1288944u4294453_11  [color=forestgreen];     t1288944u4294445_3 [label=<<b>int_rabq_bnq_01</b><br/>->,tooltip="[rabq] enrichissement code 05 des fichiers afb120&#10;"]; t1288944u4294444_2 -> t1288944u4294445_3  [color=forestgreen];     t1288944u4294446_4 [label=<<b>int_rabq_bnq_02</b><br/>->,tooltip="[rabq] decoupage des fichiers afb120&#10;"];  t1288944u4294445_3 -> t1288944u4294446_4  [color=forestgreen];     t1288944u4294447_5 [label=<<b>int_rabq_bnq_03</b><br/>{ r , - }>,tooltip="[rabq] import des fichiers et traitement des rejets&#10;=c01   "];    t1288944u4294446_4 -> t1288944u4294447_5  [color=forestgreen];     t1288944u4294447_7 [label=<<b>int_rabq_bnq_03</b><br/>{ r , - }>,tooltip="[rabq] import des fichiers et traitement des rejets&#10;=c01   "];    t1288944u4294448_6 -> t1288944u4294447_7  [color=forestgreen];  } subgraph cluster_t1288945 { style=filled; labelloc=t; labeljust=l; tooltip="[rabq] import manuel" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_rabq_man</b>>;   t1288945u4294456_1 [label=<<b>int_rabq_man__d</b><br/>ani>,tooltip="[deb] import manuel&#10;=c01   "];     t1288945u4294454_2 [label=<<b>int_rabq_man_01</b><br/>->,tooltip="[rabq] import manuel&#10;=c01 , =c02   "];  t1288945u4294456_1 -> t1288945u4294454_2  [color=forestgreen];     t1288945u4294457_4 [label=<<b>int_rabq_man__f</b><br/>->,tooltip="[fin] import manuel&#10;=c01   "];    t1288945u4294456_1 -> t1288945u4294457_4  [color=forestgreen];     t1288945u4294440_3 [label=<<b>int_rabq_archivage_manuel</b><br/>->,tooltip="[rabq] arch/move des fic fichier_de_chargement_ma rf0 t00 et log&#10;"];    t1288945u4294454_2 -> t1288945u4294440_3  [color=forestgreen];  } subgraph cluster_t1288946 { style=filled; labelloc=t; labeljust=l; tooltip="rapprochement bancaire - import static data" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_euro_gbpr</b>>;   t1288946u4294427_1 [label=<<b>int_euro_gbpr__d</b><br/>ani>,tooltip="[deb] import euro gbpr&#10;"];     t1288946u4294422_2 [label=<<b>int_euro_gbpr_01</b><br/>->,tooltip="[euro] import euro gbpr&#10;=c02   "];   t1288946u4294427_1 -> t1288946u4294422_2  [color=forestgreen];     t1288946u4294423_3 [label=<<b>int_euro_gbpr_02</b><br/>->,tooltip="[euro] import euro gbpr_retro&#10;=c02   "]; t1288946u4294422_2 -> t1288946u4294423_3  [color=forestgreen];     t1288946u4294424_4 [label=<<b>int_euro_gbpr_03</b><br/>->,tooltip="[euro] import euro gbpr_retro_inv&#10;=c02   "]; t1288946u4294423_3 -> t1288946u4294424_4  [color=forestgreen];     t1288946u4294426_5 [label=<<b>int_euro_gbpr_13</b><br/>->,tooltip="[euro] import euro gbpr_9999&#10;=c02   "];  t1288946u4294424_4 -> t1288946u4294426_5  [color=forestgreen];     t1288946u4294419_6 [label=<<b>int_euro_archivage_gbpr</b><br/>->,tooltip="[euro] arch/move traiter_croissance_csv.ok rf0 rf1 t00 et log&#10;"]; t1288946u4294426_5 -> t1288946u4294419_6  [color=forestgreen];     t1288946u4294428_7 [label=<<b>int_euro_gbpr__f</b><br/>->,tooltip="[fin] import euro gbpr&#10;"];   t1288946u4294419_6 -> t1288946u4294428_7  [color=forestgreen];  } subgraph cluster_t1288947 { style=filled; labelloc=t; labeljust=l; tooltip="rapprochement bancaire - import static data" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_euro_manu</b>>;   t1288947u4294430_1 [label=<<b>int_euro_manu__d</b><br/>ani>,tooltip="[deb] import euro manu&#10;"];     t1288947u4294429_2 [label=<<b>int_euro_manu_01</b><br/>->,tooltip="[euro] import euro_manu&#10;=c02   "];   t1288947u4294430_1 -> t1288947u4294429_2  [color=forestgreen];     t1288947u4294420_3 [label=<<b>int_euro_archivage_manu</b><br/>->,tooltip="[euro] arch/move od_virt_treso. rf0 rf1 t00 et log&#10;"];    t1288947u4294429_2 -> t1288947u4294420_3  [color=forestgreen];     t1288947u4294431_4 [label=<<b>int_euro_manu__f</b><br/>->,tooltip="[fin] import euro manu&#10;"];   t1288947u4294420_3 -> t1288947u4294431_4  [color=forestgreen];  } subgraph cluster_t1288949 { style=filled; labelloc=t; labeljust=l; tooltip="rapprochement bancaire - import static data" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_euro_sap</b>>;    t1288949u4294435_1 [label=<<b>int_euro_sap__d</b><br/>ani>,tooltip="[deb] import euro sap&#10;"];     t1288949u4294432_2 [label=<<b>int_euro_sap_01</b><br/>->,tooltip="[euro] import euro_sap&#10;=c02   "]; t1288949u4294435_1 -> t1288949u4294432_2  [color=forestgreen];     t1288949u4294433_3 [label=<<b>int_euro_sap_02</b><br/>->,tooltip="[euro] import euro_match_all&#10;=c02   "];   t1288949u4294432_2 -> t1288949u4294433_3  [color=forestgreen];     t1288949u4294434_4 [label=<<b>int_euro_sap_03</b><br/>->,tooltip="[euro] reporting int_euro_sap&#10;"]; t1288949u4294433_3 -> t1288949u4294434_4  [color=forestgreen];     t1288949u4294436_5 [label=<<b>int_euro_sap__f</b><br/>->,tooltip="[fin] import euro sap&#10;"]; t1288949u4294434_4 -> t1288949u4294436_5  [color=forestgreen];  } subgraph cluster_t1288951 { style=filled; labelloc=t; labeljust=l; tooltip="[rabq] import sap" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_rabq_sap</b>>;  t1288951u4294463_1 [label=<<b>int_rabq_sap__d</b><br/>ani>,tooltip="[deb] import sap&#10;=c03 , =c02   "];     t1288951u4294460_2 [label=<<b>int_rabq_sap_01</b><br/>->,tooltip="[rabq] import sap&#10;=c01   "];  t1288951u4294463_1 -> t1288951u4294460_2  [color=forestgreen];     t1288951u4294464_4 [label=<<b>int_rabq_sap__f</b><br/>->,tooltip="[fin] import sap&#10;=c01   "];   t1288951u4294463_1 -> t1288951u4294464_4  [color=forestgreen];     t1288951u4294441_3 [label=<<b>int_rabq_archivage_sap</b><br/>->,tooltip="[rabq] archivage move des fichiers .cerg*&#10;"];  t1288951u4294460_2 -> t1288951u4294441_3  [color=forestgreen];  } subgraph cluster_t1288953 { style=filled; labelloc=t; labeljust=l; tooltip="[rabq] import sap gre" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_rabq_sap_gre</b>>;  t1288953u4294461_1 [label=<<b>int_rabq_sap_gre__d</b><br/>ani>,tooltip="[deb] import sap gre&#10;"];     t1288953u4294458_2 [label=<<b>int_rabq_sapgre_01</b><br/>->,tooltip="[rabq] import sap gre&#10;=c01   "];   t1288953u4294461_1 -> t1288953u4294458_2  [color=forestgreen];     t1288953u4294459_3 [label=<<b>int_rabq_sapgre_02</b><br/>->,tooltip="[rabq] match_gre&#10;=c01   "];    t1288953u4294458_2 -> t1288953u4294459_3  [color=forestgreen];     t1288953u4294442_4 [label=<<b>int_rabq_archivage_sap_gre</b><br/>->,tooltip="[rabq] archivage move des fichiers rappro&#10;"];  t1288953u4294459_3 -> t1288953u4294442_4  [color=forestgreen];     t1288953u4294462_5 [label=<<b>int_rabq_sap_gre__f</b><br/>->,tooltip="[fin] import sap gre&#10;"];  t1288953u4294442_4 -> t1288953u4294462_5  [color=forestgreen];  } subgraph cluster_t1288954 { style=filled; labelloc=t; labeljust=l; tooltip="[dird] import bp2s" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_dird_bp2s</b>>;    t1288954u4294408_1 [label=<<b>int_dird_bp2s__d</b><br/>ani>,tooltip="[deb] import bp2s&#10;"];     t1288954u4294405_2 [label=<<b>int_dird_bp2s_01</b><br/>->,tooltip="[dird] import bp2s&#10;=c02 , =c01 , =c03   "];  t1288954u4294408_1 -> t1288954u4294405_2  [color=forestgreen];     t1288954u4294406_3 [label=<<b>int_dird_bp2s_02</b><br/>->,tooltip="[dird] match bp2s&#10;=c01 , =c03 , =c02   "];   t1288954u4294405_2 -> t1288954u4294406_3  [color=forestgreen];     t1288954u4294407_4 [label=<<b>int_dird_bp2s_03</b><br/>->,tooltip="[dird] reporting int_dird_bp2s&#10;"];   t1288954u4294406_3 -> t1288954u4294407_4  [color=forestgreen];     t1288954u4294409_5 [label=<<b>int_dird_bp2s__f</b><br/>->,tooltip="[fin] import bp2s&#10;"];    t1288954u4294407_4 -> t1288954u4294409_5  [color=forestgreen];  } subgraph cluster_t1288955 { style=filled; labelloc=t; labeljust=l; tooltip="[dird] dird purge" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_dird_purge</b>>;    t1288955u4294417_1 [label=<<b>int_dird_purge__d</b><br/>ani>,tooltip="[deb] dird purge&#10;"];     t1288955u4294416_2 [label=<<b>int_dird_purge_01</b><br/>->,tooltip="[dird] purge&#10;=c02   "]; t1288955u4294417_1 -> t1288955u4294416_2  [color=forestgreen];     t1288955u4294418_3 [label=<<b>int_dird_purge__f</b><br/>->,tooltip="[fin] dird purge&#10;"];    t1288955u4294416_2 -> t1288955u4294418_3  [color=forestgreen];  } subgraph cluster_t1288956 { style=filled; labelloc=t; labeljust=l; tooltip="[dird] import cash" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_dird_cash</b>>;    t1288956u4294411_1 [label=<<b>int_dird_cash__d</b><br/>ani>,tooltip="[deb] import cash&#10;=c01   "];     t1288956u4294410_2 [label=<<b>int_dird_cash_01</b><br/>->,tooltip="[dird] import cash&#10;=c02 , =c01   "];   t1288956u4294411_1 -> t1288956u4294410_2  [color=forestgreen];     t1288956u4294403_3 [label=<<b>int_dird_archivage_cash</b><br/>->,tooltip="[dird] arch/move positions_cash*.t00 rf0 log ok&#10;"];   t1288956u4294410_2 -> t1288956u4294403_3  [color=forestgreen];     t1288956u4294412_4 [label=<<b>int_dird_cash__f</b><br/>->,tooltip="[deb] import cash&#10;"];    t1288956u4294403_3 -> t1288956u4294412_4  [color=forestgreen];  } subgraph cluster_t1288957 { style=filled; labelloc=t; labeljust=l; tooltip="[dird] import gie" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_dird_gie</b>>;  t1288957u4294414_1 [label=<<b>int_dird_gie__d</b><br/>ani>,tooltip="[deb] import gie&#10;=c01   "];     t1288957u4294413_2 [label=<<b>int_dird_gie_01</b><br/>->,tooltip="[dird] import gie&#10;=c02 , =c01   "]; t1288957u4294414_1 -> t1288957u4294413_2  [color=forestgreen];     t1288957u4294404_3 [label=<<b>int_dird_archivage_gie</b><br/>->,tooltip="[dird] arch/move positions_gie*.t00 rf0 log ok&#10;"]; t1288957u4294413_2 -> t1288957u4294404_3  [color=forestgreen];     t1288957u4294415_4 [label=<<b>int_dird_gie__f</b><br/>->,tooltip="[deb] import gie&#10;"];  t1288957u4294404_3 -> t1288957u4294415_4  [color=forestgreen];  } subgraph cluster_t1288959 { style=filled; labelloc=t; labeljust=l; tooltip="[rabq] import sap" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_rabq_trfpdf</b>>;   t1288959u4294470_1 [label=<<b>int_rabq_trfpdf__d</b><br/>ani>,tooltip="[deb] transfert pdf&#10;=c02 , =c01   "];     t1288959u4294469_2 [label=<<b>int_rabq_trfpdf_01</b><br/>->,tooltip="[rabq] transcodification des fichiers de recon pdf&#10;=c02   "];  t1288959u4294470_1 -> t1288959u4294469_2  [color=forestgreen];     t1288959u4294471_3 [label=<<b>int_rabq_trfpdf__f</b><br/>->,tooltip="[fin] transfert pdf&#10;"];    t1288959u4294469_2 -> t1288959u4294471_3  [color=forestgreen];  } subgraph cluster_t1288960 { style=filled; labelloc=t; labeljust=l; tooltip="rapprochement bancaire - import static data" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>ani / int_cp47_puma</b>>;   t1288960u4294400_1 [label=<<b>int_cp47_puma__d</b><br/>ani>,tooltip="[deb] import cp47&#10;"];     t1288960u4294396_2 [label=<<b>int_cp47_puma_01</b><br/>->,tooltip="[cp47] import cp47 manual&#10;=c01 , =c02   "];    t1288960u4294400_1 -> t1288960u4294396_2  [color=forestgreen];     t1288960u4294399_3 [label=<<b>int_cp47_puma_10</b><br/>->,tooltip="[cp47] import cp47 sap&#10;=c01 , =c02   "];   t1288960u4294396_2 -> t1288960u4294399_3  [color=forestgreen];     t1288960u4294397_4 [label=<<b>int_cp47_puma_02</b><br/>->,tooltip="[cp47] match_all&#10;=c02   "];  t1288960u4294399_3 -> t1288960u4294397_4  [color=forestgreen];     t1288960u4294398_5 [label=<<b>int_cp47_puma_03</b><br/>->,tooltip="[cp47] reporting comptes sap 47&#10;"];  t1288960u4294397_4 -> t1288960u4294398_5  [color=forestgreen];     t1288960u4294395_6 [label=<<b>int_cp47_archivage_puma</b><br/>->,tooltip="[dird] arch/move cp47_sap_*.log*.t00&#10;"];  t1288960u4294398_5 -> t1288960u4294395_6  [color=forestgreen];     t1288960u4294401_7 [label=<<b>int_cp47_puma__f</b><br/>->,tooltip="[fin] import cp47&#10;"];    t1288960u4294395_6 -> t1288960u4294401_7  [color=forestgreen];  } subgraph cluster_t1262056 { style=filled; labelloc=t; labeljust=l; tooltip="" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>aof / opf_optifluxoco_1</b>>;  t1262056u4206636_1 [label=<<b>opf_oco01</b><br/>aof>,tooltip="lancement batch optiflux oco 1&#10;"];        } subgraph cluster_t1262057 { style=filled; labelloc=t; labeljust=l; tooltip="" color=whitesmoke; edge [penwidth=4]; node [style="rounded,filled",shape=box,fillcolor=powderblue,color=darkslategray]; label = <<b>aof / opf_optifluxoco_2</b>>;  t1262057u4206637_1 [label=<<b>opf_oco02</b><br/>aof>,tooltip="lancement batch optiflux oco 2&#10;"];        } edge [style=dashed] t1288941u4294467_1 -> t1288941u4294467_1 [edgetooltip="c 01",color=gold3,dir=back]; t1288941u4294443_3 -> t1288941u4294468_4 [edgetooltip="c 01",color=chartreuse3]; t1288944u4294452_1 -> t1288944u4294452_1 [edgetooltip="c 01",color=gold3,dir=back]; t1288944u4294447_7 -> t1288944u4294439_8 [edgetooltip="c 01",color=chartreuse3]; t1288944u4294447_5 -> t1288944u4294439_8 [edgetooltip="c 01",color=chartreuse3]; t1288944u4294447_7 -> t1288944u4294449_9 [edgetooltip="c 01",color=chartreuse3]; t1288944u4294447_5 -> t1288944u4294449_9 [edgetooltip="c 01",color=chartreuse3]; t1288951u4294464_4 -> t1288944u4294449_9 [edgetooltip="c 02",color=chartreuse3]; t1288944u4294449_9 -> t1288944u4294450_10 [edgetooltip="c 01",color=chartreuse3]; t1288944u4294449_9 -> t1288944u4294450_10 [edgetooltip="c 02",color=red2]; t1288944u4294450_10 -> t1288944u4294453_11 [edgetooltip="c 01",color=chartreuse3]; t1288944u4294439_8 -> t1288944u4294453_11 [edgetooltip="c 02",color=chartreuse3]; t1288945u4294456_1 -> t1288945u4294456_1 [edgetooltip="c 01",color=gold3,dir=back]; t1288945u4294440_3 -> t1288945u4294457_4 [edgetooltip="c 01",color=chartreuse3]; t1288951u4294463_1 -> t1288951u4294463_1 [edgetooltip="c 02",color=gold3,dir=back]; t1288951u4294441_3 -> t1288951u4294464_4 [edgetooltip="c 01",color=chartreuse3]; t1288955u4294418_3 -> t1288954u4294405_2 [edgetooltip="c 01",color=chartreuse3]; t1288957u4294415_4 -> t1288954u4294406_3 [edgetooltip="c 01",color=chartreuse3]; t1288956u4294412_4 -> t1288954u4294406_3 [edgetooltip="c 03",color=chartreuse3]; t1288955u4294418_3 -> t1288956u4294411_1 [edgetooltip="c 01",color=chartreuse3]; t1288955u4294418_3 -> t1288957u4294414_1 [edgetooltip="c 01",color=chartreuse3]; } 

thank help!


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -