当c3js具有负值时,其x轴从0开始

时间:2016-12-22 14:37:40

标签: d3.js c3.js

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

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

1 个答案:

答案 0 :(得分:1)

您的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) + ")")
            }
          }
        }
});