在同一个圆环图中使用不同的数据

时间:2016-05-12 13:43:35

标签: javascript d3.js svg charts

我正在尝试创建一个基于inactiveStaff显示activeStaff vs totalStaff的圆环图。

以下是我正在使用的数据的示例

var salesPeople = [
  { "region": "West",
    "toursCreated": 644,
    "totalStaff": 644,
    "activeStaff": 399,
    "inactiveStaff": 245
  }
];

我想计算activeStaffinactiveStaff的百分比,并将其显示在圆环图中。

我不确定如何将这种数据绑定到pie变量,然后在我创建的实际SVG中显示它。 即。

var pie = d3.layout.pie()
    .sort(null)
    .value(function(d) { return d.salesPeople; });

我熟悉从一组数据构建饼图,比如不同国家/地区的人口 - 但我无法弄清楚如何从这样的数据对象创建饼图并显示{{1} } vs activeStaff在同一个圆环图中。

这是一个fiddle,它创建了一个简单的圆环图表示例,该图表使用了我习惯使用的数据类型,下面是我想要使用的数据,但已注释掉了 - 希望它更容易了解我想要做的事情。

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您可以这样做:

var inactive = {"name": "inactive"};
inactive.population = salesPeople[0].inactiveStaff;

var active = {"name": "active"};
active.population = salesPeople[0].activeStaff;

var myArray = [];
myArray.push(inactive);
myArray.push(active);

render(myArray);

以下是codepen:http://codepen.io/anon/pen/BKbXod?editors=0010