Prawidłowo wyświetl szerokość bin w barChart za pomocą dc.js i crossfilter.js

Tworzę wykres słupkowy za pomocą biblioteki javascript Wykresowanie wymiarowedc.js, który jest oparty na d3 i filtrze krzyżowym.

Wszystko, co chcę zrobić, to wyświetlić histogram z określoną liczbą pojemników, to powinno być łatwe przy użyciubarChart funkcjonować.

Mam tablicę o nazwiedata który zawiera wartości zmiennoprzecinkowe między 0 a 90000, a ja chcę wyświetlić rozkład używając histogramu z 10 pojemnikami.

Poniższego kodu używam do utworzenia poniższego histogramu:

  var cf = crossfilter(data);
  var dim = cf.dimension(function(d){ return d[attribute.name]; });

  var n_bins = 10;
  var xExtent = d3.extent(data, function(d) { return d[attribute.name]; });
  var binWidth = (xExtent[1] - xExtent[0]) / n_bins;
  grp = dim.group(function(d){return Math.floor(d / binWidth) * binWidth;});
  chart = dc.barChart("#" + id_name);
  chart.width(200)
    .height(180)
    .margins({top: 15, right: 10, bottom: 20, left: 40})
    .dimension(dim)
    .group(grp)
    .round(Math.floor)
    .centerBar(false)
    .x(d3.scale.linear().domain(xExtent).range([0,n_bins]))
    .elasticY(true)
    .xAxis()
    .ticks(4);

To nie wygląda dobrze: każdy pasek jest naprawdę chudy! Chcę normalnie wyglądającego histogramu, w którym słupki są grube i prawie się stykają, być może z kilkoma pikselami wypełnienia między każdym słupkiem. Jakiś pomysł, co robię źle?

questionAnswers(2)

yourAnswerToTheQuestion