d3.js DONUT / PIE图表如何为饼图/圆环图添加自己的调色板组合

时间:2014-12-16 13:03:59

标签: javascript d3.js pie-chart donut-chart

我使用d3.js使用以下代码创建了一个圆环图,要求是使用来自后端的颜色显示为圆环图而不是使用d3.scale.category**()'s中的内置颜色

    <script>
var width = 260,
    height = 150,
    radius = Math.min(width, height) / 2;

var color = d3.scale.category20();
  var domain = ["bbb", "ddd", "ccc", "23", "hello"];

var pie = d3.layout.pie()
    .value(function(d) { return d.apples; })
    .sort(null);

var arc = d3.svg.arc()
    .innerRadius(radius - 10)
    .outerRadius(radius - 2);

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height)
    .attr("style","left: 480px;top: 120px;position: absolute;")
    .append("g")
    .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");

d3.tsv("data.tsv", function(error, data) {
  var path = svg.datum(data).selectAll("path")
        .data(pie)
        .enter().append("path")
        .attr("fill", function(d, i) { console.log(color(i)); return color(i); })
        .attr("d", arc);

});
</script>

使用自己的托盘组合从后端或数组或类似的方式覆盖颜色的任何方法: var colors = [&#34;#1f77b4&#34;,&#34;#ff7f0e&#34;,&#34;#2ca02c&#34;,&#34;#d62728&#34;,&#34;#9467bd& #34;,&#34;#8c564b&#34;,&#34;#e377c2&#34;,&#34;#7f7f7f&#34;,&#34; #bcbd22&#34;,&#34;#17becf& #34;];

提前致谢!

0 个答案:

没有答案