d3轴位于[0,1]域中

时间:2015-04-05 17:43:12

标签: javascript svg d3.js

我正在用d3绘制一个简单的(4选项)雷达图。 但即使使用manualy定义的比例,我的轴也会在像素大小(长度)和标记数字方面的域[0,1]上绘制。

以下是代码:

var scl = d3.scale.linear().domain([0, 100]).range([0, 100]);
var x1Axis = d3.svg.axis(scl);

d3.select('#radarWrapper svg')
  .append('g')
  .attr("class", "axis")
  .attr("transform", "translate(" + (width/2) + "," + (height/2) + ")")
  .call(x1Axis);

这在svg的中心绘制了一个愚蠢的一点标度,与定义的比例没有任何关系: enter image description here

1 个答案:

答案 0 :(得分:2)

要使用的比例不会被设置为d3.svg.axis()的构造函数的参数(它不会接受任何参数),而是通过.scale() method

var x1Axis = d3.svg.axis().scale(scl);

完整演示here