如何使用gvmap更改簇颜色?

时间:2014-07-31 19:30:17

标签: graphics graph visualization graph-visualization information-visualization

我在下面有一个.dot文件。我可以使用此命令绘制地图可视化“sfdp -Goverlap = prism INPUT.gv | gvmap -e | neato -n2 -Ecolor =#55555522 -Tpng> OUTPUT.png”。

 graph {
  "0" [cluster="3", label="Drawing", pos="26.163,130.97"];                        
  "1" [cluster="3", label="Visualization", pos="270.82,243.14"];           
  "2" [cluster="2", label="Graph", pos="271.43,16.263"];        
  "3" [cluster="2", label="Arizona", pos="670.15,16.263"];        
  "4" [cluster="2", label="University", pos="415.11,16.263"];          
  "5" [cluster="1", label="Map", pos="513.44,131.26"];   
  "0" -- "1";    
  "1" -- "2";  
  "0" -- "2";   
  "3" -- "4";      
  "5" -- "1";  
  "5" -- "2";  
}

GraphViz背后的算法为我的集群分配颜色。所以输出是一个像波纹管的图像。

enter image description here

如何将自己的颜色分配给群集而不是算法使用的颜色?

Thansk

1 个答案:

答案 0 :(得分:1)

是和否。基于此:https://docs.oracle.com/cd/E36784_01/html/E36870/gvmap-1.html

您可以将此修改器添加到您在gvmap部分中使用的命令以创建图形: -c k整数k指定用于着色的颜色方案           国家。默认情况下,k = 1。

  string source = "CN  =*.host.com,";

  int start = source.IndexOf('=') + 1;
  int stop = start <= 0 ? - 1 : source.IndexOf(',', start);

  string result = start <= 0 ? null 
    : stop >= 0 ? source.Substring(start, stop - start).Trim()
    : source.Substring(start).Trim();