d3.js y 轴上的十进制值

Ars*_*eon 6 javascript svg d3.js

在此处输入图片说明

我在为我正在处理的 d3.js 可视化调整 y 轴上的比例时遇到问题。在刻度上,d3的值显示为 1.0,2.0 1 Y 轴

我想将值更改为 0.3,0.4,0.5,0.6 而不是 3,4,5,6。

我的代码附在下面:

  var y = d3.scale.linear()
  .domain([0, d3.max(stateById.values(), function(d) { return d.total; })])
  .rangeRound([height, 0])
  .nice();
Run Code Online (Sandbox Code Playgroud)

var yAxis = d3.svg.axis() .scale(y) .orient("left") .tickFormat(d3.format(".1f"));

请告知我应该在上面的行中进行哪些更改。谢谢。

小智 8

本质上,您需要做的是更改tickFormat函数以将数据除以 10。将 存储d3.format(".1f")在外部变量中并使用它也可能是一种很好的做法。

.tickFormat(function (d){
    return d3.format(".1f")(d/10);
})
Run Code Online (Sandbox Code Playgroud)