d3.js nice()ticks背后的逻辑是什么

Raz*_*nho 2 javascript python charts pycairo d3.js

我在d3.js中生成了一些图表.我使用下面的代码来计算放在y轴上的值,它就像一个魅力.

var s = d3.scale.linear().domain([minValue, maxValue]);
var ticks = s.nice().ticks(numberOfPoints);
Run Code Online (Sandbox Code Playgroud)

但是我现在必须使用pycairo编写python代码,pycairo在服务器端生成d3.js图表​​的克隆.

我的问题是,是否有人知道上面代码中使用的逻辑,或者可以给出类似结果的东西,以便我可以在python中复制它以获得在y轴中使用的漂亮值?

Lar*_*off 7

D3是开源的,因此您可以查找实现.它基本上归结为四舍五入极值:

domain[i0] = nice.floor(x0);
domain[i1] = nice.ceil(x1);
Run Code Online (Sandbox Code Playgroud)

  • 这是一个死链接 (3认同)