Graphviz Issue Tracker - graphviz
View Issue Details
0002142graphvizDotpublic2011-10-05 00:352016-05-10 06:15
jezemine 
 
normalminoralways
newopen 
windowsvista
2.28
0002142: ortho plots do not respect ports. also arrowheads seem to go the wrong way.
This was found using 2.28. If I create a splines="ortho" plot using HTML labels with edges in the graph connected to PORTs in the HTML, the edges don't seem to connect to the ports. Sometimes the edges connect in the middle of the rendered table instead of at the port.

If instead of using splines="ortho" you use splines="polyline" or splines="splines" then the ports are respected.

also, with splines="ortho" the arrows seem to be backwards. In the plot below I am using arrowtail=crow on some ports and they are drawn the wrong direction when you use splines="ortho"

Sorry if this bug has already been entered - I couldn't seem to find a similar one in your bug db.

digraph "alltablesSPRINGCSpubs_compact" {
  graph [
    rankdir="RL"
    bgcolor="#FFFFFF"
    nodesep="0.15"
    ranksep="0.50"
    splines="ortho"
  ];
  node [
    fontname="Courier New"
    fontsize="10"
    shape="plaintext"
  ];
  edge [
    arrowsize="0.9"
  ];
  "[dbo].[authors]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dboauthors.htm"
    tooltip="[dbo].[authors]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[authors]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[authors]</TD></TR>
      <TR><TD PORT="au_id" BGCOLOR="#dddddd" ALIGN="LEFT">au_id id</TD></TR>
    </TABLE>>
  ];

  "[dbo].[discounts]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbodiscounts.htm"
    tooltip="[dbo].[discounts]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[discounts]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[discounts]</TD></TR>
      <TR><TD PORT="stor_id" BGCOLOR="#ffffff" ALIGN="LEFT">stor_id char</TD></TR>
    </TABLE>>
  ];

  "[dbo].[employee]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dboemployee.htm"
    tooltip="[dbo].[employee]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[employee]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[employee]</TD></TR>
      <TR><TD PORT="emp_id" BGCOLOR="#dddddd" ALIGN="LEFT">emp_id empid</TD></TR>
      <TR><TD PORT="job_id" BGCOLOR="#ffffff" ALIGN="LEFT">job_id smallint</TD></TR>
      <TR><TD PORT="pub_id" BGCOLOR="#ffffff" ALIGN="LEFT">pub_id char</TD></TR>
    </TABLE>>
  ];

  "[dbo].[jobs]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbojobs.htm"
    tooltip="[dbo].[jobs]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[jobs]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[jobs]</TD></TR>
      <TR><TD PORT="job_id" BGCOLOR="#dddddd" ALIGN="LEFT">job_id smallint identity</TD></TR>
    </TABLE>>
  ];

  "[dbo].[pub_info]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbopub_info.htm"
    tooltip="[dbo].[pub_info]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[pub_info]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[pub_info]</TD></TR>
      <TR><TD PORT="pub_id" BGCOLOR="#dddddd" ALIGN="LEFT">pub_id char</TD></TR>
    </TABLE>>
  ];

  "[dbo].[publishers]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbopublishers.htm"
    tooltip="[dbo].[publishers]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[publishers]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[publishers]</TD></TR>
      <TR><TD PORT="pub_id" BGCOLOR="#dddddd" ALIGN="LEFT">pub_id char</TD></TR>
    </TABLE>>
  ];

  "[dbo].[roysched]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dboroysched.htm"
    tooltip="[dbo].[roysched]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[roysched]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[roysched]</TD></TR>
      <TR><TD PORT="title_id" BGCOLOR="#ffffff" ALIGN="LEFT">title_id tid</TD></TR>
    </TABLE>>
  ];

  "[dbo].[sales]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbosales.htm"
    tooltip="[dbo].[sales]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[sales]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[sales]</TD></TR>
      <TR><TD PORT="stor_id" BGCOLOR="#dddddd" ALIGN="LEFT">stor_id char</TD></TR>
      <TR><TD PORT="ord_num" BGCOLOR="#dddddd" ALIGN="LEFT">ord_num varchar</TD></TR>
      <TR><TD PORT="title_id" BGCOLOR="#dddddd" ALIGN="LEFT">title_id tid</TD></TR>
    </TABLE>>
  ];

  "[dbo].[stores]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbostores.htm"
    tooltip="[dbo].[stores]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[stores]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[stores]</TD></TR>
      <TR><TD PORT="stor_id" BGCOLOR="#dddddd" ALIGN="LEFT">stor_id char</TD></TR>
    </TABLE>>
  ];

  "[dbo].[TimeTest]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dboTimeTest.htm"
    tooltip="[dbo].[TimeTest]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[TimeTest]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[TimeTest]</TD></TR>
    </TABLE>>
  ];

  "[dbo].[titleauthor]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbotitleauthor.htm"
    tooltip="[dbo].[titleauthor]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[titleauthor]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[titleauthor]</TD></TR>
      <TR><TD PORT="au_id" BGCOLOR="#dddddd" ALIGN="LEFT">au_id id</TD></TR>
      <TR><TD PORT="title_id" BGCOLOR="#dddddd" ALIGN="LEFT">title_id tid</TD></TR>
    </TABLE>>
  ];

  "[dbo].[titles]" [
    URL="../SqlServer.SPRING.CS.pubs/table_dbotitles.htm"
    tooltip="[dbo].[titles]"
    label=<
    <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" BGCOLOR="#ffffff">
      <TR><TD PORT="[dbo].[titles]" BGCOLOR="#8DD3C7" ALIGN="CENTER">[dbo].[titles]</TD></TR>
      <TR><TD PORT="title_id" BGCOLOR="#dddddd" ALIGN="LEFT">title_id tid</TD></TR>
      <TR><TD PORT="pub_id" BGCOLOR="#ffffff" ALIGN="LEFT">pub_id char</TD></TR>
    </TABLE>>
  ];
"[dbo].[discounts]":"stor_id":w -> "[dbo].[stores]":"stor_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[employee]":"job_id":w -> "[dbo].[jobs]":"job_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[employee]":"pub_id":w -> "[dbo].[publishers]":"pub_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[pub_info]":"pub_id":w -> "[dbo].[publishers]":"pub_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[roysched]":"title_id":w -> "[dbo].[titles]":"title_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[sales]":"stor_id":w -> "[dbo].[stores]":"stor_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[sales]":"title_id":w -> "[dbo].[titles]":"title_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[titleauthor]":"au_id":w -> "[dbo].[authors]":"au_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[titleauthor]":"title_id":w -> "[dbo].[titles]":"title_id":e [dir=back arrowhead=dot arrowtail=crow];
"[dbo].[titles]":"pub_id":w -> "[dbo].[publishers]":"pub_id":e [dir=back arrowhead=dot arrowtail=crow];

}
No tags attached.
png ortho.png (16,379) 2011-10-05 23:21
http://www.graphviz.org/mantisbt/file_download.php?file_id=43&type=bug
png

png polyline.png (23,462) 2011-10-05 23:22
http://www.graphviz.org/mantisbt/file_download.php?file_id=44&type=bug
png
Issue History
2011-10-05 00:35jezemineNew Issue
2011-10-05 15:25ergNote Added: 0000078
2011-10-05 23:21jezemineFile Added: ortho.png
2011-10-05 23:22jezemineFile Added: polyline.png
2011-10-05 23:25jezemineNote Added: 0000079
2012-09-07 23:51jezemineNote Added: 0000266
2013-09-07 15:29AbyssoftNote Added: 0000507
2013-09-25 09:34ryan.boderNote Added: 0000548
2016-05-10 06:15DK90Note Added: 0001051

Notes
(0000078)
erg   
2011-10-05 15:25   
Unfortunately, orthogonal routing has not been implemented to handle ports yet. That is currently being looked into.

Also, I'm not sure what you mean by the arrows being drawn backward. These appear to be drawn correctly when I run dot on the graph. Certainly, they are drawn the same where splines=ortho or splines=true. Could you attach a PNG, PDF or some such file showing what you are getting for output? Thanks.
(0000079)
jezemine   
2011-10-05 23:25   
I attached to png - one using splines=ortho and another using splines=polyline

in the ortho diagram, you can see how the ports are not respected (known issue as you say). also you can see how the crows feed point the wrong way. The "toes" of the feet should be pointed at the port, not away from it. basically the orientation of the feet is wrong.

maybe this is just a side-effect of ports not being implmeneted correctly yet for ortho graphs.
(0000266)
jezemine   
2012-09-07 23:51   
hi erg! ports work with ortho routing yet? if not, do you have plans to fix?
(0000507)
Abyssoft   
2013-09-07 15:29   
Ran this as a test in 2.33.20130905
arrows rendering correctly with ortho,
ports results are mixed with mostly incorrect positioning.
(0000548)
ryan.boder   
2013-09-25 09:34   
I'd like to vote for splines=ortho to support ports. We're using graphviz to draw network diagrams and we're using record node ports to represent Ethernet ports on switches, routers and patch panels. It works fine with curved lines but the diagrams would look better and be much easier to read if the lines were orthogonal.

Best Regards,
Ryan
(0001051)
DK90   
2016-05-10 06:15   
Hello,

this issue is still in version 2.3.8
Is there any chance that there will be a support of ports with splines = ortho or any way to circumvent the problem?

Thanks a lot in advance.

Best Regards,
Daniel