如何更改NVD3的stackedAreaChart上的比例

时间:2014-08-20 09:13:27

标签: javascript svg d3.js charts stacked-area-chart

我想知道如何更改stackedAreaChart的y轴比例。

想象一下,我有一个数组,我想将y轴调整到数组的最大值,我想以新的比例绘制所有值。

var odata = [10,40];

    nv.addGraph(function() {
      var chart = nv.models.stackedAreaChart();
                 .x(function(d) { return d[0] })
                 .y(function(d) { return d[1] })
                  .useInteractiveGuideline(true);

      chart.xAxis
          .showMaxMin(false)
          .tickFormat(function(d) { return d3.time.format('%x')(new Date(d)) });

      chart.yAxis
          .tickFormat(d3.format(',.2f'));

      d3.select('#chart svg')
        .datum(data)
          .transition().duration(500).call(chart);

      nv.utils.windowResize(chart.update);

      return chart;
    });

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,我在这里发帖:

var odata = [10,40];

    nv.addGraph(function() {
      var chart = nv.models.stackedAreaChart();
                 .x(function(d) { return d[0] })
                 .y(function(d) { return d[1] })
                 .yDomain([0, 
                    d3.max(odata,function (d) { return d; })])
                  .useInteractiveGuideline(true);

      chart.xAxis
          .showMaxMin(false)
          .tickFormat(function(d) { return d3.time.format('%x')(new Date(d)) });

      chart.yAxis
          .tickFormat(d3.format(',.2f'));

      d3.select('#chart svg')
        .datum(data)
          .transition().duration(500).call(chart);

      nv.utils.windowResize(chart.update);

      return chart;
    });