C3js 退出零值数据点的曲线

C3js Quit curve on data point with zero value

当设置零值时我有一个图表不显示点,但如果它有值则显示

the graph look like this

问题是我只想在显示零值时退出曲线并仅在该部分设置一条平线 有可能吗?

我用来隐藏点的代码

var circles = d3.selectAll('.c3-circle')
    circles
      .attr('visibility', function (d) {
        if (d.value === 0) {
          return 'hidden'
        }
      })

您需要将样条类型从默认的 'cardinal' 更改为 'monotone' - 一种既不高于也不低于它所连接的两个点的曲线段类型

目前这只能通过c3内部对象来完成;所以在你加载 c3 脚本之后,在你生成你的图表之前添加这一行:

c3.chart.internal.fn.additionalConfig.spline_interpolation_type = 'monotone';

看到这个 fiddle 我已经 fork 了一个带有更改的示例(将其注释掉并重新运行 看到区别):

https://jsfiddle.net/752pxyu4/1/