使用 D3.js的 GWT 包装器创建节点链接图



我正在尝试使用D3的GWT布局.js(github.com/gwtd3/gwt-d3(来创建带有力模型的节点链接图。首先,比这个例子或这个更简单的东西就足够了。

但是我确实在使用 GWT 包装器创建更简单的图形时遇到了问题。我找不到如何使用力、节点和链接对象的等效物。

我从以下方面开始:

Force force = D3.layout().force();

但是,我不知道节点"节点"和"链接"应该是什么对象以及如何初始化它们。它们的构造函数不可见。

force.nodes(nodes).links(links);

非常感谢您的帮助。

作为解决方法,添加其他 JSNI 方便的方法来创建 Force.Node 和 Force.Link 实例。

/**
 * Convenience function to overcome API limitation. 
 */
static final native <T> Node<T> newNode(T userDatum)/*-{
    return {
        datum : userDatum
    };
}-*/;
/**
 * Convenience function to overcome API limitation. 
 */    
static final native <T> Link<T> newLinkIndex(int source, int target, T userDatum) /*-{
    return {
        source : source,
        target : target,
        datum: userDatum
    };
}-*/;
  1. 创建一个包含所有节点实例的 GWT D3"节点"阵列,
  2. 初始化一个GWT D3"链接"数组,该数组使用来自"节点"的索引(int(指向相应的节点实例,
  3. 通过调用应用:force.nodes(nodes(.links(links(

您可以在MobilePatentSuits中看到完整的工作示例.java!

最新更新