Javascript 一个y轴nvd3/d3的变化范围

Javascript 一个y轴nvd3/d3的变化范围,javascript,d3.js,nvd3.js,Javascript,D3.js,Nvd3.js,我目前使用的是multiChart模型,我有两个不同的y轴。我想更改这两个轴,使它们从0开始,因为当前它们从最小的y数据点开始 我试着做了以下几件事 chart.yAxis1 tickFormat(d3.format(',.f')) .domain([0,max_y]); 但这似乎不起作用 及 它告诉我,没有强迫函数 有什么想法吗?.domain([0,max_y])应该用于对象,而不是对象 因此: 这应该行得通;如果没有,您应该将您拥有的发布为。您可以强制NVD3中的最小值和最大值用于线条图

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

我试着做了以下几件事

chart.yAxis1
tickFormat(d3.format(',.f'))
.domain([0,max_y]);
但这似乎不起作用

它告诉我,没有强迫函数

有什么想法吗?

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

因此:


这应该行得通;如果没有,您应该将您拥有的发布为。

您可以强制NVD3中的最小值和最大值用于线条图或条形图,请尝试以下操作:

chart.bars.forceY([0]);

chart.lines.forceY([0,100]);

我发现解决问题的唯一方法是在图表定义中添加yDomain1或yDomain2

对于nvd3:

var chart = nv.models.multiChart()
    .yDomain1([-20, 80]) 
    .yDomain2([-50, 200])
对于nvd3 AngularJS:

$scope.dashOptions = {
    chart : {
        type : 'multiChart',
        yDomain1:[-20, 80],
        yDomain2:[-50, 100],
资料来源:

嘿,我的代码使用数据库中的数据点,因此我不确定如何向您显示我的图形。我尝试过使用var yscale1=d3.scale.linear().domain([0400000]);但我得到了未捕获的TypeError:无法调用未定义的方法“linear”。顺便说一句,我使用nvd3制作图形,而不仅仅是d3.console.log(JSON.stringify(data))->copy/paste您找到解决方案了吗?我也有同样的问题。谢谢这适用于直线加条形图,但似乎不适用于多图表。此响应中有输入错误,应为
chart.lines.forceY([0,100])。编辑。对我有用。谢谢!它不适用于负值
var chart = nv.models.multiChart()
    .yDomain1([-20, 80]) 
    .yDomain2([-50, 200])
$scope.dashOptions = {
    chart : {
        type : 'multiChart',
        yDomain1:[-20, 80],
        yDomain2:[-50, 100],