2013-07-15 3 views

답변

1

도트 파일을 사용하고 새로운 컬러 화 된 도트 파일을 생성해야합니까? 또는 도트 파일을 생성하는 프로그램이나 스크립트가 있습니까? (어떤 언어로?)

나는 노드 (또는 클러스터)에 대해 임의의 중간 강도의 색상을 선택하고 노드 배경을 해당 색상의 밝은 버전으로 만들고 기존 가장자리를 그 색상의 어두운 버전으로 만드는 팬입니다.

예를 들어, 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); 

} 
1

비슷한 문제점이 있습니다. 노드 하나에서 노드가로드되는 문제가있었습니다.

-Goverlap = prism 옵션을 사용하여 sfdp (점 개수가 노드를 처리 할 수 ​​없음)를 사용했습니다. 당신이 당신의 자신의 프로그램에서 그래프가 발생하는 경우 http://www.graphviz.org/doc/info/colors.html

이 간단한 방법은 목록에있는 모든 색상을 넣어하는 것입니다 고유의 색상을 가지고 :

1

는 현재 graphviz를 수락 모든 색상의 목록을 가지고 당신이 새로운 우위를 가질 때이 목록에서 하나를 선택하십시오. 이 의사 코드 비슷해 :

List colors = {red, blue, green, ...}; 
for edge in edges: 
    write(edge.source + 
      " -> " + 
      edge.sink + 
      " [color=\"" + 
      color.next() + 
      "\"];\n" 
    ); 

청소기 방법으로 할 수 그래서 그 RGB 코드에서 색상을 정의하는 것입니다.

digraph G 
{ 

    A -> B 
    [ 
     color="#AABBCC" 
    ] 

} 

지금 당신이해야 할 모든 16 진수 # 000000와 #FFFFFF 사이의 모든 가장자리에 대해 생성하는 것입니다 : 당신이이 방법을 수행 할 수 있습니다. 문서의 색상 형식은 다음과 같습니다. http://www.graphviz.org/doc/info/attrs.html#k:color

관련 문제