【发布时间】:2016-01-07 06:44:01
【问题描述】:
维度“dim_pie”传递任何字符值,度量“fact_pie”传递任何整数类型值。
那么如何在饼图的标签上显示测量值的百分比以及如何根据测量值的总和划分所有饼片?
var ndx = crossfilter(datachart);
var dim_pie = ndx.dimension(function(d) {return d.Opportunity_Name;});
var fact_pie = dim_pie.group().reduceSum(function(d) {return +d.Amount;});
PieChart
.width(300)
.height(400)
.dimension(dim_pie)
.group(fact_pie)
.innerRadius(30)
.renderLabel(true)
.label(function(d){ return d.key + " : " + d.value + " - " +(d.value / ndx.groupAll().reduceCount().value() * 100).toFixed(2) + "%"; })
.colors(d3.scale.ordinal().range([ "red", "#006400" ]))
;
数据: Opportunity_Name 金额 埃森哲 10 苹果80 认知80 CTS 20 戴尔 60 脸书 40 谷歌 20 马力 20 马力 10 IBM 30 领英 10 甲骨文 90 TCS 10 维普罗 80 维普罗 10
【问题讨论】:
-
我不确定你的问题第一部分是什么意思。您在使用
.label()时遇到问题吗?由于这是一个 dc.js 问题,我认为您的交叉过滤器代码与此处无关。
标签: dc.js