Узлы не окрашиваются в соответствии с графиком

Почему этот файл graphml ниже неправильно отображает цвет узла в PREFUSE?

<?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>

Спасибо


person nikel    schedule 28.03.2012    source источник


Ответы (1)


Предварительный предохранитель AFAIK не устанавливает цвет узла автоматически. Он обрабатывает color как любое другое поле.

Попробуйте использовать DataColorAction:

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

Обратите внимание, что вам все еще нужно установить int[] palette в соответствии с вашими цветами.

person alex.rind    schedule 29.03.2012
comment
Что ж, возможно, это так. Я разработал это, используя только DataColorAction. Что заставило меня использовать цвет, так это то, что это стандартный атрибут GraphML! - person nikel; 29.03.2012