Chart.js不需要的工具提示出现在图例中

时间:2019-09-25 21:48:28

标签: javascript chart.js

我有一个tooltip函数,可以帮助我以不同于股票的方式显示图表中的信息。到目前为止,它对我来说非常有效,但是,它会为图例显示工具提示。我希望在保持不同键的单击功能的同时,不显示该内容。

这是我在tooltips下找到的options

        tooltips: {
            mode: 'index',
            intersect: false,
            callbacks: {
                label: function(tooltipItem, data) {
                    if((tooltipItem.yLabel) >= 1000000){
                        return data.datasets[tooltipItem.datasetIndex].label + ": $" + money_round((tooltipItem.yLabel)/1000000)+" M";
                    }else if((tooltipItem.yLabel) >= 1000){
                        return data.datasets[tooltipItem.datasetIndex].label + ": $" + money_round((tooltipItem.yLabel)/1000)+" K";
                    }else{
                        return data.datasets[tooltipItem.datasetIndex].label + ": $" + (tooltipItem.yLabel);
                    }
                }
            }
        },

enter image description here

我也在寻找一种方法,将tooltips显示在悬停的项目的左侧,并且/或者减小从光标到显示tooltip的项目的距离,以防止不需要时弹出tooltip

1 个答案:

答案 0 :(得分:2)

对于工具提示位置,您可以使用xAlign: 'right',但是您必须确保在图表的左侧有足够的空间,因为工具提示将始终显示在该点的左侧。

使用intersect: false时,“减小光标到显示工具提示的项目的距离”是不可能的,因为它将始终显示带有该选项的工具提示。

对于诸如工具提示之类的事件,我会结合使用intersect: true(或直接忽略它,因为这是默认设置)和增加的点击半径。

elements: {
  point: {
    hitRadius: 20
  }
},

Here's a JSBin来演示这些选项。