/usr/share/graphviz/gvpr
NameSizeModeActions
addedges2910644editdlrm
addranks8300644editdlrm
addrings13190644editdlrm
anon4220644editdlrm
attr1510644editdlrm
bb9970644editdlrm
bbox5320644editdlrm
binduce11660644editdlrm
bipart4550644editdlrm
chkclusters5320644editdlrm
chkedges9160644editdlrm
cliptree1780644editdlrm
col6010644editdlrm
collapse4690644editdlrm
color14400644editdlrm
cycle5600644editdlrm
dechain2640644editdlrm
deghist3510644editdlrm
deledges1160644editdlrm
delmulti3970644editdlrm
delnodes2490644editdlrm
depath5470644editdlrm
dijkstra6470644editdlrm
flatten880644editdlrm
get-layers-list2770644editdlrm
group7910644editdlrm
histogram3190644editdlrm
indent3780644editdlrm
knbhd12260644editdlrm
maxdeg3070644editdlrm
path4490644editdlrm
rotate11940644editdlrm
scale11470644editdlrm
scalexy11230644editdlrm
span1390644editdlrm
topon4290644editdlrm
treetoclust9880644editdlrm
Edit: /usr/share/graphviz/gvpr/addranks (830B)
/* 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]); }