d3.js y轴上的十进制数值

6

enter image description here

我在处理一个d3.js可视化的时候,在调整y轴比例方面遇到了问题。 在比例尺上,它显示的值是1.0, 2.0。 1d3的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();

变量yAxis是d3.svg.axis()的一个实例,它使用了比例尺y,并将其方向设置为“left”,同时使用d3.format(".1f")格式化刻度。请指导我在上述行中应该做出哪些更改。谢谢。

1个回答

9

基本上,您需要更改tickFormat函数,将数据除以十。最好的做法是将d3.format(".1f")存储在外部变量中,并使用该变量。

.tickFormat(function (d){
    return d3.format(".1f")(d/10);
})

你好,JSBob。你是救星!非常感谢你。 - Arsleon
如何将点转换为逗号。我获取数组值,例如1.2,需要在折线图上显示1,2。 - deleting
你也可以查看这个链接 http://bl.ocks.org/zanarmstrong/05c1e95bf7aa16c4768e 以获取详细的格式。 - Ahmad Karim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接