Lennon Manchester
Lennon Manchester

Reputation: 41

NVD3 how set y scale correctly?

My Cumulative Line Chart is not building the yScale correct.

Given the data to be build the chart:

var data = [{
  key: "Page view",
  values: [
    ["2013-07-01 00:00:00", 1],
    ["2013-08-01 00:00:00", 17],
    ["2013-09-01 00:00:00", 5],
    ["2013-10-01 00:00:00", 13]
  ]
}];

The max value that should display 17 on the yScale it's displaying 8 as you can see here:

https://www.evernote.com/shard/s253/sh/35928a9c-f5bb-4862-a227-f86423e6dd8a/8745a2c6cb5571002b7ec33b5386172a

That is my code:

nv.addGraph(function () {
   var chart;
   chart = nv.models.cumulativeLineChart()
              .x(function(d) { return moment(d[0]) })
              .y(function(d) { return d[1] })
              .color(d3.scale.category10().range())
              .transitionDuration(300)
              .showControls(false);

   chart.xAxis
      .tickFormat(function (d) {
         return d3.time.format('%d/%m/%y')(new Date(d))
       });

   chart.xScale(d3.time.scale());
   d3.select('#chart svg')
      .datum(data)
      .call(chart);

   nv.utils.windowResize(chart.update);

   return chart;
});

https://gist.github.com/lemanchester/9919615

I've tried to use:

 chart.yScale().domain([0, 50]);

or/and

 chart.forceY ([0, 50])

Upvotes: 3

Views: 1496

Answers (1)

Lennon Manchester
Lennon Manchester

Reputation: 41

Problem Solved!

It's that Cumulative Line Chart it has to starts with 0 on the Y axis

var data = [{
  key: "Page view",
  values: [
    ["2013-06-01 00:00:00", 0],
    ["2013-07-01 00:00:00", 1],
    ["2013-08-01 00:00:00", 17],
    ["2013-09-01 00:00:00", 5],
    ["2013-10-01 00:00:00", 13]
  ]
}];

As you can see:

https://www.evernote.com/shard/s253/sh/404834ae-1797-4d23-96bd-3f7e0674822e/ef09346d45af2b31cd122a2014c34377

PS. Thanks Bob

Upvotes: 1

Related Questions