【问题标题】:Print Percentage of measure value on the Pie Chart label in dc.js在 dc.js 中的饼图标签上打印度量值的百分比
【发布时间】: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

【问题讨论】:

标签: dc.js


【解决方案1】:

请将此代码添加到您的饼图中。

.label(function(d) { return d.key +" (" + Math.floor(d.value / all.value() * 100) + "%)"; });

这将在括号中显示度量值的百分比以及键名。

【讨论】:

  • 抱歉,我遇到了一个小错误。 ReferenceError: all is not defined .label(function(d) { return d.key +" (" + Math.floor(d.value / all.value() * 100... 那么,你能帮助解决这个错误吗?定义“所有”?
  • 你定义了 all 变量吗? var all = ndx.groupAll();
猜你喜欢
  • 2023-01-11
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多