首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D3包封装不起作用

D3包封装不起作用
EN

Stack Overflow用户
提问于 2017-06-20 02:05:32
回答 1查看 158关注 0票数 0

我使用的是D3的pack(root)方法。该方法将在某个时刻调用不起作用的packEnclose方法。有人能解释一下这种方法是如何工作的吗?

该函数似乎大部分时间都在工作,但当我给它一些不同的数据时,它有时会不工作。

下面是我如何调用D3包的代码示例

代码语言:javascript
复制
var stratify = d3.stratify()
    .parentId(function(d) { 
        return d.id.substring(0, d.id.lastIndexOf("@")); });

var root = stratify(data)
        .sum(function(d) { return d.value; })
        .sort(function(a, b) { return (a.value - b.value) })
    //  .eachAfter(function(node) { node.value = node.data.value;})

var pack = d3.pack()
    .size([width - margin, height - margin])
    .padding(5);
pack(root);

我已经尝试得够多了,我确信一个有效的例子和一个失败的例子之间唯一的区别就是值本身。如果你想测试,我可以把数据数组发给你,因为我不能把它们附加到问题上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-23 01:55:31

我从来没有想过这个问题,但我找到了一种奇怪的方法来解决这个问题。在调查了工作的数据和不工作的数据之间的差异后,我发现其中存在差异。不起作用的数据在写入另一个文件后看起来像是满是整数,而起作用的数据看起来像一堆浮点数。即使我在代码中显式地放入了parseFloat,所以两者都应该是浮点型的。

无论如何,我只是给每个单独的数据点增加了0.01 (不是0.000000001,因为某些原因这是不起作用的)。由于某些原因,这是有效的,还没有造成任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44637156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档