2

按照http://bl.ocks.org/mbostock/4063269上发布的示例开发 d3 气泡图:

在此处输入图像描述

我的数据集只有一个分支,但有很多子项(请参见下面的示例)。我所有的气泡都以相同的颜色显示。是否可以修改逻辑为同一分支中的每个孩子生成不同颜色的气泡?如果是这样,任何帮助将不胜感激。

{
 "name": "mydata",
 "children": [
  {"name": "test1", "size": 5},
  {"name": "test2", "size": 10},
  {"name": "test3", "size": 15},
  {"name": "test4", "size": 20}
 ]
}
4

3 回答 3

1

要图片随机颜色用户这个

 node.append("circle").attr("r", function(d) {
    return d.r;
}).style("fill", function(d) {
    return color(Math.random());
});
于 2014-08-07T09:42:38.123 回答
1

只需将不同的数据传递给颜色函数,例如索引:

node.append("circle")
  .attr("r", function(d) { return d.r; })
  .style("fill", function(d, i) { return color(i); });

或者,对于您的数据,大小:

node.append("circle")
  .attr("r", function(d) { return d.r; })
  .style("fill", function(d) { return color(d.size); });
于 2013-11-15T16:45:26.957 回答
0

我们可以使用两个概念来填充颜色

1. var colour = d3.scale.category20(); // it will set random color from 20 color list.

2.它很容易根据来自JSON数据的文本值设置自定义颜色..我使用了以下概念

.style("fill", function (d) {
            if (d.item.text == "InProgress") {
                return "#2DD7EB"
            } else if (d.item.text == "Signed Off") {
                return "#3CEB2D"
            } else if (d.item.text == "Pending") {
                return "#F55431"
            }  
于 2017-09-22T09:59:02.007 回答