CLARIFY(1)

πŸ“¦
version 16.1.0 Β· 3 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu resolute, ubuntu stonking

πŸ’– CLARIFY(1) β€” like, the edgepaint manual, but make it make sense πŸ’–

okay bestie, gather round, because this one is genuinely iconic. we're talking about edgepaint from the General Commands Manual section of your local man pages, and she is here to make your crossing edges stop looking like a bowl of spaghetti. no cap.


✨ NAME ✨

edgepaint β€” edge coloring to disambiguate crossing edges

like, that's it. that's the whole job. she paints your edges so you can tell them apart. slay.


🌸 SYNOPSIS 🌸

[ options ] [ -o outfile ] [ files ]

yes bestie, that's literally the whole synopsis. options, then optionally -o outfile, then your files. she's low maintenance fr fr. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea. edgepaint takes as input a graph in DOT format that has node position information β€” that's the pos attribute, okay, don't forget it β€” and then it colors the edges in a manner making it easier to tell them apart.

that's it. that's the whole vibe. you give her positioned nodes, she gives you back edges that don't all blur into one chaotic mess. main character energy honestly. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

the following options are supported, and yes, we're doing all of them, because we don't skip. periodt.

  • --accuracy=e β€” the accuracy with which to find the maximally different coloring for each node with regard to its neighbors. default e = 0.01.
  • --angle=a β€” color two edges differently if their incidence angle is less than a degrees. default a = 15.
  • --random_seed=s β€” the random seed to use. s must be an integer. and here's the fun part: if s is negative, we do |s| iterations with different seeds and pick the best. like, she's shopping around. we love a queen who explores her options. πŸ›οΈ
  • --lightness=l1,l2 β€” only applies for the "lab" color scheme: l1 and l2 must be integers, with 0 <= l1 <= l2 <= 100. by default, we use "0,70".
  • --share_endpoint β€” if this option is specified, edges that share a node are not considered in conflict if they are close to parallel but are on the opposite sides of the node (around 180 degree). they're just vibing on opposite sides, leave them alone. 🫢
  • -o f β€” write output to file f (default: stdout).
  • --color_scheme=c β€” specifies the color scheme. this can be "rgb", "gray", "lab" (default); or a comma-separated list of RGB colors in hex (e.g., "#ff0000,#aabbed,#eeffaa") representing a palette; or a string specifying a Brewer color scheme (e.g., "accent7"; see https://graphviz.org/doc/info/colors.html#brewer). so many options, so many fits to serve. 🌈
  • -v β€” turns on verbose mode. she'll tell you everything she's doing. oversharing? maybe. helpful? absolutely. πŸ’¬
  • -? β€” print usage and exit. the classic "wait what do i type" escape hatch.

πŸ’€ BUGS πŸ’€

okay so this is the part where we keep it real, because knowing the limits is part of the assignment.

at present, edgepaint does not handle graphs with loops or directed multiedges. so, a graph with edges a -> b and b -> a is acceptable, but not if it has edges a -> b and a -> b or a -- b and a -- b.

also, ports are ignored in this analysis, so having a.x -> b and a.y -> b is also not supported.

so like, no loops, no directed multiedges, and no ports. she's got boundaries and honestly, good for her. πŸ™ˆ

πŸ’œ AUTHOR πŸ’œ

Yifan Hu <yifanhu@yahoo.com>

the icon, the legend, the moment. thank you for your service. 🫑


⭐ SEE ALSO ⭐

go read those next bestie, the lore is deep. πŸ“š


and that's a wrap, my love. this page is from the General Commands Manual, dated 26 February 2014, and it's filed under CLARIFY(1). go forth and color those edges. iykyk. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from