如何在D3情节图中强制均匀环

时间:2019-01-21 07:40:54

标签: d3.js svg

我已经成功绘制了一个径向图,但是环之间的距离越远,它们之间的间隙就越小。我希望它们之间的距离均匀。

我尝试更改yticks / x刻度线,以及使用PI的各种比例...使用前者,我设法在图形上获得统一的比例...即2步,而不是代码自行决定,但是环之间仍然靠得更近。

不想通过发布整个代码而烦恼,选择正确的部分有点棘手,因为我不确定我应该看代码的哪一部分。

var svg = d3.select("svg"),
width = +svg.attr("width"),
height = +svg.attr("height"),
innerRadius = 180,
outerRadius = Math.min(width, height) / 2,
g = svg.append("g").attr("transform", "translate("+width / 2 + "," + height / 2 + ")");

var x = d3.scaleBand()
.range([0, 2 * Math.PI])
.align(0);

var y = d3.scaleRadial()
.range([innerRadius, outerRadius]);

var z = d3.scaleOrdinal()
.range(<?php echo json_encode($plotColors);?>);

我希望这些环彼此之间的距离相等,但是当它们从中心移出时它们会越来越近。

enter image description here

1 个答案:

答案 0 :(得分:-1)

var y = d3.scaleLinear()可以解决问题