在图表上的最后一个值上设置工具提示位置

Jua*_*jia 0 javascript d3.js c3.js

有一些方法可以在 c3js 中设置工具提示的位置,因为工具提示总是在垂直线的右侧,但是当光标位于最后一个值上时,它会向左侧更改位置或图形中的状态而不离开它。

我知道这是 c3js 上的正常工具提示行为,但我希望工具提示将其位置保持在右侧的最后一个值

您可以在此链接上查看示例

var chart = c3.generate({
    data: {
        columns: [
            ['data1', 300, 350, 300, 0, 0, 0],
            ['data2', 130, 100, 140, 200, 150, 50]
        ],
        types: {
            data1: 'area',
            data2: 'area-spline'
        }
    },
    axis: {
        y: {
            padding: {bottom: 0},
            min: 0
        },
        x: {
            padding: {left: 0},
            min: 0,
            show: false
        }
    }

});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

mgr*_*ham 5

您可以使用以下代码设置工具提示位置:

http://c3js.org/reference.html#tooltip-position

tooltip: {
    position: function (data, width, height, element) {
      var top = d3.mouse(element)[1] + 15;
      return {top: top, left: parseInt(element.getAttribute('x')) + parseInt(element.getAttribute('width'))}
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我不知道当工具提示从图表的一侧伸出时它是如何工作的,它可能只是被截断了。如果需要,我想您可以在右侧添加 100px 的边距,但这会使您的图表变小。