确保 (0,0) 在折线图中

Make sure (0,0) is in the line chart

当折线图中只有一个点时,我只看到x轴和y轴。

但我想看到从 (0,0) 到这一点的直线。

我有

charts.push(
  dc.lineChart(compositeBrushchart).dimension(dim) 
    .colors(config.charts[x].color)
    .group((add_origin(grp)),config.charts[x].group) 
    .interpolate(config.interpolate) 
    .renderDataPoints(config.renderdatapoints) 
    .renderArea(config.renderarea) 
    .renderDataPoints({radius: config.charts[x].symbolsize})     
    .dashStyle(config.charts[x].dash.split(","))

您可以使用 fake group 预处理您的数据,添加或删除来自交叉过滤器组的点。

每次绘制图表时,它都会调用group.all() 来获取其数据。如果将组包裹在另一个对象中,则可以修改数据。

在您的情况下,您希望确保点 (0,0) 始终位于数据的开头。

这是一个简单的实现,假设 (0,0) 不在您的数据中:

function add_origin(group) {
  return {
    all: function() {
      return [{key: 0, value: 0}].concat(group.all());
    }
  };
}

您可以在将原始组传递到图表时包装它:

lineChart
  .group(add_origin(group))

如果您的数据中有任何 0 或负键,它可能会变得更复杂,但从您的评论来看,您的数据听起来像是正数。

Example fiddle