我在d3.js v4中制作了一个饼图布局,它给了我这个错误:未捕获的ReferenceError:在SVGPathElement中没有定义颜色。 (main.js:37)在SVGPathElement。 (d3.min.js:2)at dt.ol [as each](d3.min.js:4)at dt.ul [as attr](d3.min.js:4)at main.js:36 < / p>
这是我的代码:
var width = 400
, height = 400
, radius = 200,
color = d3.scaleOrdinal(d3.schemeCategory10);
var piedata = [
{
label: "Barot"
, value: 50
}
, {
label: "Gerard"
, value: 50
}
, {
label: "Jennifer"
, value: 50
}
]
var pie = d3.pie()
.value(function(d){
return d.value;
})
var arc = d3.arc()
.outerRadius(radius)
var myChart = d3.select('#chart').append('svg')
.attr('width', width)
.attr('height', height)
.append('g')
.attr('transform', 'translate('+(width-radius)+','+(height-radius)+')')
.selectAll('path').data(pie(piedata))
.enter().append('path')
.attr('fill',function(d, i){
return colors(i);
})
.attr('d', arc)
<!DOCTYPE html>
<html>
<head>
<title>Bar Chart</title>
<meta charset="8-UTF">
<link rel="stylesheet" src="css/style.css"> </head>
<body>
<div class="container">
<h2>Pie Layout</h2>
<div id="chart"></div>
</div>
<script src="js/d3.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>