D3.js 确保(0,0)在折线图中

D3.js 确保(0,0)在折线图中,d3.js,dc.js,D3.js,Dc.js,当折线图中只有一个点时,我只能看到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) .rende

当折线图中只有一个点时,我只能看到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(","))
可以使用来预处理数据,添加或删除来自交叉过滤器组的点

每次图表绘制时,它都会调用
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或负数键,它可能会变得更复杂,但从您的评论来看,您的数据在其他方面似乎是正数


请查看是否有帮助。你需要提供一些数据,以便dc.js&d3知道比例并绘制任何东西,因此我认为你需要伪造它,正如我的评论所示。你的意思是,当没有数据时,你只想在图表的角落添加文本“0”?不,从0开始,我需要绘制线,比如,当有一个0值标签没有显示时,我也想显示该标签,我不明白,或者不明白这与我之前链接的问题有什么不同。也许你可以编辑你的问题,并添加实际和期望行为的图像。好的,我想画一条线,它总是从(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(“,”)。好的,我编辑了你的问题以添加代码。我认为这还不足以告诉你出了什么问题。