如何自动从graphviz中的节点出来的边缘颜色

use*_*058 5 graphviz

我有一个巨大的图,其中至少有100个节点在graphviz中紧密连接。我正在寻找可以自动处理任何给定节点的边缘颜色的方法,以使这些颜色是唯一的。每个节点都有近30条边线。谢谢 !!

Ric*_*ick 2

您是否需要接受点文件并生成新的彩色点文件的东西?或者您是否有一些程序或脚本可以生成点文件?(用什么语言?)

我喜欢为节点(或簇)选择随机的中等强度颜色,并使节点背景成为该颜色的较浅版本,并使现有边缘成为该颜色的较暗版本。

例如,在 java 中我有两个这样的实用方法。

public static Color hashColor(Object value) {
    if (value == null) {
        return Color.WHITE.darker();
    } else {
        int r = 0xff - (Math.abs(1 + value.hashCode()) % 0xce);
        int g = 0xff - (Math.abs(1 + value.hashCode()) % 0xdd);
        int b = 0xff - (Math.abs(1 + value.hashCode()) % 0xec);
        return new Color(r, g, b);
    }
}        

/**
 * @return a hex Color string in the format #rrggbb. 
 */
public static String encodeColor(Color color) {
    return "#" + String.format("%06x", color.getRGB() & 0xffffff);

}
Run Code Online (Sandbox Code Playgroud)