在protovis中为非叶节点提供数据/值

时间:2010-08-31 22:37:06

标签: javascript protovis

我的数据与此类似:

var root = {
    node1: {
        node2: 4,
        node3: 2
    },
    node4: {
        node5: 3
    }
};

这类似于他们建议在示例中为树结构布置数据的方式。我的问题是:我如何给node1和node4赋值?

感谢。

1 个答案:

答案 0 :(得分:0)

看起来像一个老问题,但无论如何这里都是答案。 查看http://vis.stanford.edu/protovis/ex/indent.html 最值得注意的是,

var root = pv.dom(flare)
.root("flare")
.sort(function(a, b) pv.naturalOrder(a.nodeName, b.nodeName));

/* Recursively compute the package sizes. */
root.visitAfter(function(n) {
  if (n.firstChild) {
    n.nodeValue = pv.sum(n.childNodes, function(n) n.nodeValue);
  }
});

他们使用pv.dom(obj)加载输入,然后递归计算总和。更一般地说,您可以使用该界面在传递给visitAfter的函数中指定所需的任何值