如何将x轴与dc.js序数线系列图表中的图表点对齐?

时间:2017-10-21 04:08:42

标签: dc.js

当我尝试创建序数系列图表时,x轴未与图表中的点对齐,刻度线位置会移动到值的右侧。

您可以在此图片中看到问题:

image

该行的第一个点应与x轴的01标签对齐。

我测试了版本2.0.2,2.1.3和2.1.8。这是代码:

var chart = dc.seriesChart("#test");
var ndx, runDimension, runGroup;

d3.csv("morley.csv", function(error, experiments) {

  ndx = crossfilter(experiments);
  runDimension = ndx.dimension(function(d) {
    var run = +d.Run < 10 ? '0' + d.Run : '' + d.Run;
    return [+d.Expt, run];
  });
  runGroup = runDimension.group().reduceSum(function(d) { return +d.Speed; });

  chart
    .width(768)
    .height(480)
    .chart(function(c) { return dc.lineChart(c).interpolate('cardinal'); })
    .x(d3.scale.ordinal())
    .xUnits(dc.units.ordinal)
    .brushOn(false)
    .yAxisLabel("Measured Speed km/s")
    .xAxisLabel("Run")
    .clipPadding(10)
    .elasticY(true)
    .dimension(runDimension)
    .group(runGroup)
    .mouseZoomable(true)
    .seriesAccessor(function(d) {return "Expt: " + d.key[0];})
    .keyAccessor(function(d) {return d.key[1];})
    .valueAccessor(function(d) {return +d.value - 500;})
    .legend(dc.legend().x(350).y(350).itemHeight(13).gap(5).horizontal(1).legendWidth(140).itemWidth(70));
  chart.yAxis().tickFormat(function(d) {return d3.format(',d')(d+299500);});
  chart.margins().left += 40;

  dc.renderAll();

});

我做错了什么?

0 个答案:

没有答案