繁体   English   中英

D3甜甜圈图-删除0%标签

[英]D3 Donut Chart - Remove 0% label

我在D3甜甜圈图之一上过滤掉0%标签时遇到困难。 我试过使用.filter。 我不确定自己在做什么错。 我有一个数据集,该数据集创建了9个甜甜圈图(9个大学团队的会议获胜率)。 其中一支球队没有赢得任何一场比赛,因此他们有0%。

这是我的标签的JS。 我想显示我所有的数据,除了0之外的数据。

  var g = svg.selectAll("g")
  .data(function (d) { return pie(d.percent); })
  .enter().append("g");

  g.append("text")
  .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; })
  .attr("dy", ".35em")
  .attr("class", "arcLabel")
  .style("text-anchor", "middle")
  .text(function(d) { return d.data.percent.toFixed(1) + "%" ; });

将过滤器放在正确的位置还是在我调用数据时,这是否有问题? 以下是调用我的数据的行。

d3.csv("data.csv", function(error, data) {
if (error) throw error;



color.domain(d3.keys(data[0]).filter(function(key) { return key !== "Team" && key !=="Record"; } ));

data.forEach(function(d) {
d.percent = color.domain().map(function(Team) {
  return {Team: Team, percent: +d[Team], };
});
});

//rest of the code for my charts here
});

提前致谢。

在“ text”元素的text()上执行此操作:

  .text(function(d) { return d.data.percent == 0 ? "" : d.data.percent.toFixed(1) + "%" ; });

检查数据中的字符串是否为数字0或“ 0”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM