对于我从事的项目,我正在获取 GraphML 格式的信息(我也可以更改 graphML 文件)并且我想根据该信息创建所需的图形,我能够获得正确的布局,通过使用 mxGraphMlCodec.decode(doc, graph) 方法具有适当的边和节点,但生成的图缺少 graphML 文件提供的边标签的附加信息。
我找不到以这种方式转换为图形的 graphML 文件的任何示例。 我刚刚遵循了 GraphML primer 中所述的 graphML 文件指南。创建 graphML 文件。
这是 GraphML 代码:
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<key id="d1" for="edge" attr.name="edgeData" attr.type="double"/>
<graph id="DTMC" edgedefault="directed">
<node id="0"/>
<edge source="0" target="1">
<data key="d1">0.5</data>
</edge>
<edge source="0" target="2">
<data key="d1">0.5</data>
</edge>
<node id="1"/>
<edge source="1" target="3">
<data key="d1">0.5</data>
</edge>
<edge source="1" target="4">
<data key="d1">0.5</data>
</edge>
<node id="2"/>
<edge source="2" target="5">
<data key="d1">0.5</data>
</edge>
<edge source="2" target="6">
<data key="d1">0.5</data>
</edge>
<node id="3"/>
<edge source="3" target="1">
<data key="d1">0.5</data>
</edge>
<edge source="3" target="7">
<data key="d1">0.5</data>
</edge>
<node id="4"/>
<edge source="4" target="8">
<data key="d1">0.5</data>
</edge>
<edge source="4" target="9">
<data key="d1">0.5</data>
</edge>
<node id="5"/>
<edge source="5" target="10">
<data key="d1">0.5</data>
</edge>
<edge source="5" target="11">
<data key="d1">0.5</data>
</edge>
<node id="6"/>
<edge source="6" target="2">
<data key="d1">0.5</data>
</edge>
<edge source="6" target="12">
<data key="d1">0.5</data>
</edge>
<node id="7"/>
<edge source="7" target="7">
<data key="d1">1.0</data>
</edge>
<node id="8"/>
<edge source="8" target="8">
<data key="d1">1.0</data>
</edge>
<node id="9"/>
<edge source="9" target="9">
<data key="d1">1.0</data>
</edge>
<node id="10"/>
<edge source="10" target="10">
<data key="d1">1.0</data>
</edge>
<node id="11"/>
<edge source="11" target="11">
<data key="d1">1.0</data>
</edge>
<node id="12"/>
<edge source="12" target="12">
<data key="d1">1.0</data>
</edge>
</graph>
</graphml>
我只是修改 JGraphX 示例文件夹中的 ClickHandle.java 文件,以便使图形可视化。
最佳答案
jgraphx 使用“值”属性作为边的标签:
<mxCell edge="1" id="4" parent="1" style="defaultEdge" source="2" target="3" value="test label">
<mxGeometry>
...
</mxGeometry>
</mxCell>
您可以尝试添加一个名为“value”的属性。
关于java - 导入 GraphML 以在 JGraphX 中创建图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23828600/