【发布时间】:2020-07-25 19:14:56
【问题描述】:
我在“卡片”引导程序上对图表进行编码时遇到错误。 问题是我只希望标签显示在我的饼图上,但问题是谷歌浏览器上的控制台显示“未捕获的 TypeError:d3.arc(...).outerRadius(...).innerRadius(...)。文本不是函数” 我不明白为什么。
下面是我的饼图代码:
var data = [
{"platform": "Android", "percentage": 40.11},
{"platform": "Windows", "percentage": 36.69},
{"platform": "iOS", "percentage": 13.06}
];
var svgCirWidth = 600, svgCirHeight = 300, radius = Math.min(svgCirWidth, svgCirHeight) / 2;
const pieContainer = d3.select("#pieChart")
.append("svg")
.attr("width", svgCirWidth)
.attr("height", svgCirHeight);
//create group element to hold pie chart
var g = pieContainer.append("g")
.attr("transform", "translate(" + 170 + "," + radius + ")");
var color = d3.scaleOrdinal(d3.schemeCategory10);
var pie = d3.pie().value(function(d){
return d.percentage;
});
var path = d3.arc()
.outerRadius(radius)
.innerRadius(0);
var arc = g.selectAll("arc")
.data(pie(data))
.enter() //means keeps looping in the data
.append("g");
arc.append("path")
.attr("d", path)
.attr("fill", function(d){
return color(d.data.percentage);
})
var label = d3.arc()
.outerRadius(radius)
.innerRadius(0)
.text(function(d){
return d;
});
【问题讨论】:
标签: javascript d3.js