更改一个y轴nvd3/d3的范围

Siv*_*iva 6 javascript d3.js nvd3.js

我目前正在使用multiChart模型,我有两个不同的y轴.我想要更改两个轴,使它们从0开始,因为它们目前从最小的y数据点开始.

我尝试过以下操作

chart.yAxis1
tickFormat(d3.format(',.f'))
.domain([0,max_y]);
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用

.forceY ([0, max_y])
Run Code Online (Sandbox Code Playgroud)

它告诉我没有forceY功能

有任何想法吗?

小智 10

您可以在NVD3中强制显示行或条形图的最小值和最大值,请尝试以下操作:

chart.bars.forceY([0]);

chart.lines.forceY([0,100]);
Run Code Online (Sandbox Code Playgroud)

  • 这适用于直线加条形图,但似乎不适用于多图表. (7认同)

Ada*_*rce 1

.domain([0, max_y])应该用于比例对象,而不是轴对象

所以:

var yScale = d3.scale.linear().domain([0,max_y])
var yAxis  = d3.svg.axis().scale(yScale)
Run Code Online (Sandbox Code Playgroud)

这应该有效;如果没有,您应该将您拥有的内容发布为jsfiddle