2012-03-28 37 views
0

爲什麼下面這個graphml文件不能在PREFUSE中正確渲染節點的顏色?節點沒有變色按照graphml

<?xml version="1.0" encoding="UTF-8"?> 
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"> 
<graph edgedefault="undirected"> 
<key id ="color" for="node" attr.name="color" attr.type="String"> 
<default>pink</default> 
</key> 
<key id="name" for="node" attr.name="name" attr.type="string"> 
<default>hey</default> 
</key> 
<node id="7534"> 
<data key="color">green</data> 
<data key="name">hey!</data> 
</node> 
</graph> 
</graphml> 

感謝

回答

0

AFAIK prefuse不會自動設置節點的顏色。它像其他任何領域一樣對待color

嘗試使用DataColorAction

ColorAction color = new DataColorAction(
    PrefuseLib.getGroupName("data", Graph.NODES), 
    "color", Constants.NOMINAL, VisualItem.FILLCOLOR, palette); 

注意,你還是需要根據自己的顏色設置int[] palette

+0

嗯,也許它就是這樣。我只用DataColorAction解決了這個問題。使我使用顏色的原因是它的標準GraphML屬性! – nikel 2012-03-29 18:02:01