我最近使用Pre引信来做一些可视化。我所做的就是从一个数据库中加载一些信息,为它们制作一个预融合表实例,并根据这些信息生成一个图表。这个很好用。
我的问题是,我如何为图创建边??
我想我必须创建另一张桌子来保存边缘,但我不知道如何创建那个东西.任何帮助都很感激!谢谢!
这是我的代码,用于设置图形的数据:
Table nodeData = null;
String query1 = "my_select_statement";
try {
nodeData = datasrc.getData(query1);
} catch (DataIOException ex) {
ex.getMessage();
ex.printStackTrace();
}
Graph graph = new Graph(nodeData, true);发布于 2012-09-19 00:50:26
预融合图有一个构造函数,它采用边缘表,如您所建议的那样:
public Graph(Table nodes, Table edges, boolean directed)我建议您查看这个非常简单的空格分隔矩阵读取器,以供参考:https://github.com/brycecr/msmexplorer/blob/master/MSMExplorer/src/edu/stanford/folding/msmexplorer/io/DatGraphReader.java
简而言之,您只需创建一个表,但是需要"source“和"target”列,在这些列中的条目是0-索引到节点表中。创建列:
m_edgeTable = new Table();
m_edgeTable.addColumn(Graph.DEFAULT_SOURCE_KEY, int.class); //0th
m_edgeTable.addColumn(Graph.DEFAULT_TARGET_KEY, int.class); //1st分配源列和目标列:
m_edgeTable.addRow();
m_edgeTable.set(rowNum, 0, sourceNodeIndex);
m_edgeTable.set(rowNum, 1, targetNodeIndex);你的想法是对的!
P.S.:如果你写的是一个图形阅读器,就像你看起来的那样,我真的建议你对AbstractGraphReader进行子类化。它将使您的生活更加轻松,因为您可以使用您的新类的方式与内置的图形阅读器。
https://stackoverflow.com/questions/12396982
复制相似问题