Server IP : 162.241.126.129 / Your IP : 3.135.201.101 Web Server : Apache System : Linux 162-241-126-129.cprapid.com 4.18.0-477.27.2.el8_8.x86_64 #1 SMP Fri Sep 29 08:21:01 EDT 2023 x86_64 User : rvway5nu4 ( 1018) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/graphviz/gvpr/ |
Upload File : |
/* Assuming nodes have been positioned by dot, this adds a rank * attribute by placing all nodes with the same y value on a specific * integer rank. * If the graph has rankdir=LR, x and y are flipped. */ BEG_G { double x,y; int lv[double]; int r, rk[double]; int flip; if (isAttr($,"G","rankdir") && $.rankdir=="LR") flip = 1; } N { sscanf($.pos,"%f,%f",&x,&y); if (flip) lv[x] = 1; else lv[y] = 1; } BEG_G { r = 0; if (flip) forr (lv[x]) { rk[x] = r++; /* printf (2, "rk[%f] = %d\n", y, rk[y]); */ } else forr (lv[y]) { rk[y] = r++; /* printf (2, "rk[%f] = %d\n", y, rk[y]); */ } } N { sscanf($.pos,"%f,%f",&x,&y); /* printf(2, "node %s y %f rk %d\n", $.name, y, rk[y]); */ if (flip) $.rank = sprintf("%d", rk[x]); else $.rank = sprintf("%d", rk[y]); }