c3js 有负值时 x 轴从 0 开始

c3js have x axis start from 0 when it has negative value

使用此 c3js - having the X axis in the middle of the chart 使图表从 0 开始。但是当我单击图例时,x 网格会恢复到底部。关于如何让它从 0 开始的任何想法?

我的图表是动态创建并分配给特定的 dom 元素 ID

您的 d3 操作仅在您创建图表后调用一次。当您使用图例切换某些内容时,图表会再次生成自身而不显示此特定选择。发生这种情况时,您必须再次操作图表。您可以使用图例中的 onclick 事件来执行此操作。您必须在此处再次调用 toggle 函数,因为您覆盖了默认的 onclick 函数。

var chart = c3.generate({
    ...
    legend:{
          item:{
            onclick: function(data){
             chart.toggle(data);
             d3.select(chart.element)
             .select('.' + c3.chart.internal.fn.CLASS.axisX).transition()
             .attr('transform', "translate(" + 0 + "," + chart.internal.y(0) + ")")
            }
          }
        }
});